第十三章:复制控制
1:复制构造函数,在对象定义初始化时,会出现;此时的=不是赋值效果,而是复制构造函数的效果。
2:复制构造函数,定义在私有中,则禁止了操作,除了友元;若在私有中只是声明不定义,则任何都无法调用构造函数
3:容器是有复制构造函数的。
4:类中指针成员有3种处理方式,一是复制指针的值共享所指对象,这样会带来指针安全问题;二是使用智能指针类可以达到 共享指针所指对象,且没有指针安全问题;三是值类型,通过重新构造新的副本,独立指针所指对象,没有指针安全,但是有复制工程的耗费。
5:复制控制中3中操作,复制构造函数,赋值操作,解析函数,对于赋值操作是其他2个的和操作。先删除自身的成员,接着获取右操作数的成员。复制构造函数参数必须是引用,而赋值则一般是引用,否则会多余操作一个复制构造函数。
6:此部分重点理解3个操作应用的必要性,一般是针对出现了指针。
7:引用还是不要引用局部变量,即使你得到了值,只是该栈还没有被处理而已,实际逻辑上是被处理的,若有变量压入栈,则就会出问题,此处内存本来是释放了,状态未知。
8:引用成员也得注意复制控制操作,因为及其可能导致引用的对象消失了。