6.13、智能指针
-
shared_ptr ---- 共享资源的智能指针,直到指向这个地址的所有指针都消亡才释放内存
被用来表示共享的拥有权。也就是说,当两段代码都需要访问一些数据,而它们又都没有独占该数据的所有权(从某种意义上来说就是该段代码负责销毁该对象)。shared_ptr是一种计数指针。当引用计数变为0时,shared_ptr所指向 的对象就会被删除。- Shared_ptr<类型> p1 = make_shared<类型>(对象创建)
- Shared_ptr<类型> p2(new 类型)
- Shared_ptr<类型> p3(p1)
-
unique_ptr
- unique_ptr同一时刻只能有一个unique_ptr指向给定对象(通过禁止拷贝语义、只有移动语义来实现)。
- unique_ptr指针的生命期从创建时开始,直到离开作用域, 将其所指对象销毁
- weak_ptr