智能指针(shared_ptr、unique_ptr、weak_ptr)

shared_ptr允许多个指针指向同一个对象;unique_ptr则"独占"所指向的对象。 所以看使用者的意图,想这个对象咋么用。

weak_ptr只是是辅助类,它是一种弱引用。本质应该没啥作用,它可以为强引用提前占位,但它的存在不会占据引用计数。 比如enable_shared_from_this中会用到

java中也有类似机制,弱引用在用之前要转换成强引用,只用弱引用访问对象,可能还没访问完对象就被释放了。

posted @ 2021-09-01 17:55  dzqabc  阅读(63)  评论(0编辑  收藏  举报