2.1 构造函数
2.2.1 复制构造函数的行为是否符合我们的要求?
对那些包含指针的类要另眼相待。如果被指向的对象是“属于”该产生的对象,那么缺省的复制构造函数就有可能是错误的,因为他只是简单的复制了指针而不是指针所指向的对象。
2.1.2 复制构造函数不可忽略
复制构造函数只有单个形参,而且该形参是对本类类型对象的引用(常用const修饰),这样的构造函数称为复制构造函数。与默认构造函数一样,复制构造函数可由编译器隐式调用。
如果确实因为某些原因,使得为类实现复制构造函数变得非常困难,那么请把它声明为私有的,并且不要为它提供任何定义。
2.1.3 当类中的某个数据成员本身也是一个类对象时,我们应该避免使用赋值操作来为该成员进行初始化。
由于一个类中成员的初始化顺序和它们在类中被声明的顺序(而不是构造函数定义中初始化体的顺序)必须是一致的。通常情况下不会有什么问题,但是在某些场合下,他将导致问题的产生——例如:某个成员的初始化过程中使用了另外成员的值。
(持续修改中)