Copy Construct && Copy assignment(Operator =)
来源:互联网 发布:尼布楚条约知乎 编辑:程序博客网 时间:2024/05/16 17:47
1 让 Copy assginment 返回一个 & *this
为了实现连锁等式
2 让Copy assginment 处理自我复制,这里有两个问题,第一个问题是自我赋值安全性,第二个问题是自我赋值安全性
<1> 当拷贝时出现深拷贝时,自我赋值就变的十分危险.可以利用 identity test 来解决这种问题,
但是这种做法不具有异常安全性.当 new 失败时,this对象已经被损坏了.
<2>为了达到异常安全性,经常需要使用建立一个临时对象,用来保存原有对象或者保存新建对象.如
这样做牺牲了一些效率,但是同时带来了异常安全与自我赋值安全.
3 在Copy assignment与copy构造函数中别忘记拷贝任何一个成员
<1> 复制所有成员变量,每当加入一个成员,别忘记copy assignment 与 copy构造函数.漏掉可能会花上数倍的时间调试.
<2> 调用所有base class中的copy函数,对于copy construct以及copy assignmet,编译器可不会替你做好事.你只能指望自己了.这个是继承所带来的复杂度提升.也可以做为拒绝深层次继承的理由之一.
- Copy Construct && Copy assignment(Operator =)
- copy-assignment operator
- copy constructor,destructor 和copy assignment operator
- [C++]copy constructor and copy assignment operator
- why we need copy constructor & assignment operator
- constructor copy constructor initialization and assignment operator
- copy constructor 和copy assignment operator的比较
- copy constructor和copy assignment operator的区别
- default constructor, copy constructor, copy assignment operator, destructor
- copy constructor & operator =
- copy constructor and = operator
- operator=, swap, copy constructor
- Copy Constructor and operator=
- c++ copy constructor, operator=
- Copy constructor and Copy assignment
- copy constructor and copy assignment
- 类的三个特殊成员Copy Constructor、Copy-Assignment Operator、Destructor重载与使用
- 函数返回语句与copy (move) constructor, copy (move) assignment operator的关系
- Windows Data Alignment on IPF, x86, and x64
- Microsoft FTP7.5 For IIS7.x使用中的一些问题及解决方法
- 曾经我会想你
- FNAHISIL
- 文档管理系统功能
- Copy Construct && Copy assignment(Operator =)
- wince
- Spring+JSF集成入门案例
- asp.net 将文件 二进制 上传 保存 再显示,解决文件流中文乱码问题。
- linux C正则表达式
- 这些年
- Hibernate(Inverse和Cascade属性)
- 用好系统安全模式让电脑更安全
- window多线程