c++的浅复制与深复制
来源:互联网 发布:最基本的网络拓扑结构 编辑:程序博客网 时间:2024/05/17 13:39
class CDemo
{
public:
CDemo():str(NULL){printf("cdemo()\n");}
~CDemo()
{
if(str)
{
static int i =0;
cout<<"&CDemo="<<i++<<" = "<<(int*)this << " ,str = "<<(int*)str<<endl;
delete str;
}
}
//复制构造函数
CDemo(const CDemo &cd)
{
printf("&cd\n");
this->str = new char[strlen(cd.str)+1];
strcpy(str,cd.str);
}
char *str;
};
void test47()
{
CDemo d1;
d1.str=new char[22];
strcpy(d1.str,"hello world");
vector<CDemo> *a1 = new vector<CDemo>();
a1->push_back(d1);
vector<CDemo>::iterator p = a1->begin();
printf("p->str=%s\n",p->str);
printf("d1.str=%s\n",d1.str);
delete a1;
printf("p->str=%s\n",p->str);
printf("d1.str=%s\n",d1.str);
}
- Objective C: 浅复制与深复制
- ArrayList 的深复制与浅复制
- C++的深复制与浅复制
- 浅复制与深复制的区别
- 对象的浅复制与深复制
- 深复制与浅复制的区别
- 深复制与浅复制的理解
- c++的浅复制与深复制
- 浅复制与深复制
- 浅复制与深复制
- 深复制与浅复制
- 浅复制与深复制
- 深复制与浅复制
- 深复制与浅复制
- 浅复制与深复制
- 浅复制与深复制
- 浅复制与深复制
- 浅复制与深复制
- js常用函数
- TOAD连接Oracle数据库失败:OCI_INVALID_HANDLE解决
- 第一个jsp
- 初始化项目——快捷键
- 二叉树的递归和非递归前、中、后序遍历
- c++的浅复制与深复制
- HDU5631 Rikka with Graph
- 剑指offer——合并链表
- set与单词数
- Json,List,Map的数据格式详解。
- 控制并发线程数的Semaphore和线程之间的数据交换Exchanger
- 给定一个字符串,问是否能够通过添加一个字母将其变成“回文串”
- int转换成NSData
- centos7 yum安装配置redis 并设置密码