c++ 深复制
来源:互联网 发布:淘宝助手销售属性空白 编辑:程序博客网 时间:2024/05/17 08:32
深复制:如果一个类的数据成员需要使用动态分配的堆资源,并且这个类的对象之间发生了数据成员拥有的堆资源复制过程,这个过程就可以叫深复制。
浅复制:对象存在数据成员拥有堆资源但复制过程并未实现数据成员拥有堆资源的复制情况视为浅复制。
#include <iostream>
#include <string.h>
using namespace std;
class CPerson
{
public:
CPerson(char *str)
{
cout << "construct" << str << endl;
name = new char[strlen(str)+1];
strcpy(name, str);
}
CPerson(CPerson &s)
{
cout << "Copy construct" << s.name << endl;
name = new char[strlen(s.name)+1];
strcpy(name, s.name);
}
~CPerson()
{
cout << "destruct" << name << endl;
delete []name;
}
private:
char *name;
};
int main()
{
CPerson p1("Randy"), p2(p1);
return 0;
}
- c++:深复制
- object-c 深复制和浅复制
- Objective C: 浅复制与深复制
- 【C#】List列表的深复制,引用类型深复制
- C语言:深复制VS浅复制 数组VS指针
- Object-C中浅复制与深复制
- 【Object-C】浅复制与深复制
- Object-C学习(九):浅复制与深复制
- objective C中的浅复制和深复制
- objective C中的浅复制和深复制
- objective C中的浅复制和深复制
- 【C++】拷贝构造函数之浅复制与深复制
- Objective-c之浅复制与深复制
- Objective-C——深复制和浅复制
- iOS - 深复制浅复制和c数组的关系
- Objective-C 深复制和浅复制与<NSCopying>协议
- Objective-C深复制和<NSCopying>协议
- 【C#】List<T>对象的深复制
- error 65: access violation at 0x40021000 : no 'read' permission
- RDF元素
- 0704
- Lisp语言:数组
- C#基础概念面试题
- c++ 深复制
- IP分片重组的分析和常见碎片攻击 v0.2
- Can’t create handler inside thread that has not called Looper.prepare()
- 常用的MySQL命令小记
- RDF 实例
- PHP随笔
- PKI与信息安全问答
- 程序员,不要让微博占用你太多时间
- 标准C文件读写