深层复制构造函数和浅层复制构造函数区别
来源:互联网 发布:关键词排名优化方案 编辑:程序博客网 时间:2024/04/29 19:18
构造函数用来初始化对象的,复制构造函数是把一个已知的对象复制给新的对象,(2者都是对象)。
浅复制构造函数只复制指针(换句话说就是2个对象的地址一样),例如
class A
{
pubic:
A(){x = new int; *x = 8;}
A(const A &a)
{
x = a.x //浅层复制构造函数
}
~A(){delete x; x = NULL;}
private:
int *x;
}
深复制构造函数定义内new了一个新地址,因此2个对象的地址不一样,析构2个对象的时候不会象浅复制构造函数那样重复析构一个地址了。例如
class A{pubic:A(){x = new int; *x = 8;}A(const A &a){x = new int; //注意区分x,这个x是复制的对象中的指针x
*x = *(a.x) //浅深层复制构造函数
}~A(){delete x; x = NULL;}private:int *x;}重点是区分概念,和区分x,要不很容易混乱另外补加一个小概念,对于高大上的“级连”,比如说cout语句能实现级连,就是指提取运算符"<<"能连续使用,例如cout<<x<<y<<z;这里的"<<"用了三次
0 0
- 深层复制构造函数和浅层复制构造函数区别
- C++_浅层复制构造函数和深层复制构造函数
- 深层复制构造函数
- 深层复制构造函数
- C++浅层与深层复制构造函数
- C++深层复制构造函数
- c++ 构造函数深层复制示例
- 【c++程序】深层复制构造函数
- 【c++程序】浅层复制构造函数
- C++ 浅层复制构造函数
- C++普通构造函数和复制构造函数的区别
- 构造函数和复制构造函数
- 复制构造函数和赋值构造函数
- 复制构造函数和赋值构造函数
- 复制构造函数和赋值构造函数
- 复制构造函数和赋值构造函数
- C++复制构造函数(深复制和浅复制)
- 构造函数 复制构造函数
- 重大发现:MSDN for DOS - Microsoft Library 1.03
- 首届中国智慧城市协同创新峰会将于6月20日在大连隆重举行
- h3c和瑞斯康达面试经验
- 50个Android开发技巧(20 使用MVP模式)
- Multiply Strings
- 深层复制构造函数和浅层复制构造函数区别
- 新兴游戏市场之——土耳其
- 一个JS分页效果代码
- js分页脚本代码入门实例
- Cocostudio 总结
- Codeforces Div2 243AB
- 用Jmail做收取邮件附件的程序
- 为什么说Web 服务将是一件大事
- js分页显示div内容