effective c++ 读书笔记
2014-04-14 16:37 crazyxiazi 阅读(145) 评论(0) 收藏 举报item 12:复制对象时不要忘记复制每一部分。
主要针对的就是copy assignment = 操作符。
在默认的情况下,对每一个对象,不管是基类还是父类,都会构建一个复制其每一个成员的默认 赋值操作函数。这其中就有浅拷贝的问题。
所以我们会自己写一个赋值操作函数。
但是,我们写了基类的赋值操作函数 之后,子类的默认赋值操作,也会同样使用父类的赋值操作。这回丢掉子类的一些成员。
所以我们需要写 子类 的赋值操作函数 -- 注意,我们写了子类的赋值 操作函数时,也要在其中注明 对父类的 赋值操作。
item 13 -17 智能指针
auto_ptr :一个 指针 智能被一个对象拥有 若有 a = b 或 a(b) 的操作 则a 获得指针,而b = NULL。
问题,都是delte 而不是delete []
item 14:资源管理类的 copy 问题, 资源的拥有权如何交接。
1.计数,2,复制3,转移,4禁止复制。从一个禁止复制的父类继承(将 operator = 设为private)
shared_ptr 多个对象,共享同一个对象,并 共享同一个计数器。
浙公网安备 33010602011771号