关于C++拷贝构造函数
来源:互联网 发布:淘宝客服业绩哪里查看 编辑:程序博客网 时间:2024/05/19 08:45
from http://groups.google.com/group/comp.lang.c++.moderated/browse_thread/thread/400259ead753c6ca?hl=en
> Does object 'cd' uses the same memory as object 'ab' ?
> Is any memory allocated in the heap for 'cd' like 'ab' [ I do not
> think, maybe I'm wrong ] ?
same instance of the AB class. Your AB copy constructor is not called. No
more memory is allocated.
If you wanted to make a copy you need...
AB* ef = new AB(*ab);
With a few trace prints in your program you can easily see what is
happening. The output on my machine for the following complete program:
ab=0x6101a8, cd=0x6101a8
copy constructor: my this=0x6201c0, arg=0x6101a8
ab=0x6101a8, ef=0x6201c0
copy constructor: my this=0x22ccbc, arg=0x6101a8
ab=0x6101a8, gh=0x22ccbc
//======================
#include <stdio.h>
class AB {
int a;
public:
AB(int ar): a(ar){}
AB(const AB& arg) {
printf("copy constructor: my this=%p, arg=%p/n", this, &arg);
a = arg.a;
}
AB* ab = new AB(7);
//AB* cd = new AB;
AB* cd(ab); // you have copied the pointer
printf("ab=%p, cd=%p/n",ab,cd);
AB* ef = new AB(*ab); // you have made a copy of the first AB
printf("ab=%p, ef=%p/n",ab,ef);
AB gh(*ab); // copy into local variable gh
printf("ab=%p, gh=%p/n",ab,&gh);
return 0;
- 关于拷贝构造函数
- 关于拷贝构造函数
- 关于拷贝构造函数
- 关于拷贝构造函数
- 关于拷贝构造函数
- 关于拷贝构造函数
- 关于拷贝构造函数
- 关于拷贝构造函数
- 【C++】拷贝构造函数
- C++:拷贝构造函数
- c++"拷贝构造函数
- C++: 拷贝构造函数
- 【C++】拷贝构造函数
- c++::拷贝构造函数
- 【C++】:拷贝构造函数
- 【C++】拷贝构造函数
- C++:拷贝构造函数
- 关于c++默认的构造函数、析构函数、拷贝构造函数、move函数
- 我的博客移步http://www.cnblogs.com/xinjie/
- 怎么样完成每天定时对数据库地操作
- 基于.Net Framework 3.5的企业应用架构技术研究
- MySQL 5.1新特性之事件调度器(Event Scheduler)
- 透明光照模型与环境贴图之2:环境贴图
- 关于C++拷贝构造函数
- JVM 对Java异常的处理原理
- 飞信登录时的身份验证
- ASP.NET--profile的简单使用
- 十九种不良生活习惯
- PHP教程:插件机制在PHP中实现方案
- JSP与数据库连接
- google免费导航来了,导航API还会远吗
- 透明光照模型与环境贴图之3:简单透明光照模型