auto_ptr
特点:只能作用于一个对象,一个对象只需要开辟空间,由它进行内存的管理。
unique_ptr
特点:只能作用于一个对象,可以通过移动构造和移动赋值进行分转移。
scoped_ptr
特点:局部的,既不是可复制也不可移动 。 这是当你想出去的作用域时,确保指针被删除的首选、
shared_ptr<强引用,循环引用>
特点:可以作用于多个对象,通过引用计数的原理。构造函数中进行加1,析构函数中记进行减1操作。
weak_ptr
辅助share_ptr 使用,解决循环引用的问题,不具有拥有权,没有-> ,*等操作。
转载:
https://blog.youkuaiyun.com/zsc_976529378/article/details/52250597
本文详细介绍了C++中的智能指针,包括auto_ptr、unique_ptr、scoped_ptr、shared_ptr及weak_ptr的特点与用法。其中,unique_ptr可通过移动构造和移动赋值进行所有权转移;scoped_ptr不可复制也不可移动,用于确保指针在其作用域结束时被删除;shared_ptr通过引用计数管理多个对象;weak_ptr辅助shared_ptr解决循环引用问题。
151

被折叠的 条评论
为什么被折叠?



