条款12:复制对象时勿忘其每一个成分
2014-06-02 14:01
417 查看
结论1:Copying函数应该确保复制“对象内的所有成员变量”及“所有base class成分”。
Copying函数指copy构造函数和copy assignment操作符,任何时候只要为class添加一个成员变量,或者class继承自另一个base class,则应该确保(1)复制所有local成员变量,(2)调用所有base class内适当的copying函数。
结论2:不要尝试以某个copying函数实现另一个copying函数。应该将共同机能放进第三个函数中,并由两个copying函数共同调用。
令copy assignment操作符调用copy构造函数就像试图构造一个已存在的对象,令copy构造函数调用copy assignment操作符就像在一个尚未初始化的对象身上做“只对已初始化对象才有意义”的事一样。消除重复代码的做法是建立一个新的成员函数供两者调用。
Copying函数指copy构造函数和copy assignment操作符,任何时候只要为class添加一个成员变量,或者class继承自另一个base class,则应该确保(1)复制所有local成员变量,(2)调用所有base class内适当的copying函数。
结论2:不要尝试以某个copying函数实现另一个copying函数。应该将共同机能放进第三个函数中,并由两个copying函数共同调用。
令copy assignment操作符调用copy构造函数就像试图构造一个已存在的对象,令copy构造函数调用copy assignment操作符就像在一个尚未初始化的对象身上做“只对已初始化对象才有意义”的事一样。消除重复代码的做法是建立一个新的成员函数供两者调用。
相关文章推荐
- 条款12:复制对象时勿忘其每一个成分
- 条款12:复制对象时勿忘其每一个成分
- 条款12:复制对象时勿忘其每一个成分
- EC读书笔记系列之7:条款12 复制对象时勿忘其每一个成分
- 条款12 复制对象勿忘其每一个成分
- Effective C++ 条款12:复制对象时勿忘其每一个成分
- Effective C++_笔记_条款12_复制对象时勿忘其每一个成分
- 条款12:复制对象时勿忘其每一个成分(Copy all parts of an object)
- 《Effect C++》学习------条款12:复制对象时勿忘其每一个成分
- effective c++条款12(复制对象时勿忘其每一个成分)
- 《Effective C++》条款12:复制对象是勿忘其每一个成分
- 条款12:复制对象时勿忘其每一个成分(Copy all parts of an object.)
- 条款12:复制对象时勿忘其每一个成分
- 条款12:复制对象时勿忘其每一个成分
- 条款12:复制对象时勿忘其每一个成分
- 条款12:复制对象时请勿忘每一个成分
- effective C++ 条款 12:复制对象时勿忘其每一个成分
- 【effective c++】 条款12:复制对象时勿忘其每一个成分
- Effective C++:条款12:复制对象时勿忘其每一个成分
- 条款12:复制对象时勿忘其每一个成分