Cla*_*res 5 c++ boost design-patterns smart-pointers loki
阅读Alexandrescu和wikipipidia我看到指针和引用计数器存储在堆上.然后提到引用计数是低效的,因为必须在堆上分配计数器?为什么不将它存储在堆栈中?
因为一旦智能指针的当前实例超出范围,您就会丢失它.
智能指针用于模拟动态分配的自动存储对象.智能指针本身是自动管理的.因此,当一个被销毁时,它存储在自动存储器中的任何东西也会被破坏.但是你不想失去参考计数器.因此,您将其存储在动态存储中.