c++ int 深拷贝
时间: 2024-01-05 15:02:36 浏览: 70
在 C++ 中,深拷贝是指在进行对象拷贝时,不仅要复制对象本身的值,还要复制对象所指向的动态内存。这通常需要自定义拷贝构造函数和赋值运算符重载函数来实现。
下面是一个示例代码:
```c++
class MyClass {
public:
MyClass() {
data = new int[10];
for (int i = 0; i < 10; i++) {
data[i] = i;
}
}
// 拷贝构造函数
MyClass(const MyClass& other) {
data = new int[10];
for (int i = 0; i < 10; i++) {
data[i] = other.data[i];
}
}
// 赋值运算符重载函数
MyClass& operator=(const MyClass& other) {
if (this != &other) {
delete[] data;
data = new int[10];
for (int i = 0; i < 10; i++) {
data[i] = other.data[i];
}
}
return *this;
}
~MyClass() {
delete[] data;
}
private:
int* data;
};
```
阅读全文