More Effective C++读书笔记:条款29

Aki 发布于 2022-10-22 261 次阅读


29Reference Counting(引用计数):

Reference counting这项技术,允许多个等值对象共享同一实值。此技术的发展有两种动机,第一是为了简化heap object周边的簿记工作。它可以消除“记录对象拥有权”的负荷,因为当对象运用了reference counting技术,它便拥有它自己。一旦不再有任何人使用它,它便会自动销毁自己。reference counting的第二个发展动机则只是为了实现一种常识。如果许多对象有相同的值,将那个值存储多次是件愚蠢的事。最好是让所有等值对象共享一份实值就好。

每一个对象在读取使用了引用计数的类的值的时候,当这个值返回引用的时候,必须考虑这个值是不是唯一的,是不是引用别人的,这非常的重要。

Reference Counting 可以使用在很多场合,任何 class 如果其不同的对象可以拥有相同的值,都适用这个计数。

我们可以写一个base class RCobject ,作为 reference counting 对象之用,任何class 如果希望自动拥有reference counting 能力,都必须继承这个类。

代码文字属实多的离谱。。。。。。