内存讹误(memory corruption):内存泄漏、过早的删除操作
C++针对这两种问题提供了解决方案:引用计数(reference counting),基本思想是:
将销毁对象的职责从客户端代码转移到对象本身。对象跟踪记录自身当前被引用的数目,在引用计数达到零时自行销毁。
总结:下面任意一种情况都可以是引用计数变的更为有效
a. 目标对象是很大的资源消费者
b. 资源分配和释放的代价很高
c. 高度共享:由于使用赋值操作和拷贝构造函数,引用计数的性能可能会很高
d. 创建和销毁引用的代价低廉
反之,则应跳出引用计数而使用更加有效地简单非计数对象