标签:智能 计数 一个 拷贝构造 不同的 stl weak_ptr 机制 ++
智能指针的意义
现代c++开发库中最重要的类模板之一
c++中自动内存管理的主要手段
能够在很大程度上避开内存相关的问题
STL中的智能指针auto_ptr
生命周期结束时,销毁指向的内存空间
不能指向堆数组,只能指向堆对象(变量)
一片堆空间只属于一个智能指针对象
多个智能指针对象不能指向同一片堆空间
STL中的其它智能指针
shared_ptr
带有引用计数机制,支持多个指针对象指向同一片内存
weak_ptr
配合shared_ptr而引入的一种智能指针
unique_ptr
一个指针对象指向一片内存空间,不能拷贝构造和赋值
Qt中的智能指针
QPointer
当其指向的对象被销毁时,它会被自动置空
析构时不会自动销毁所指向的对象
QSharedPointer
引用计数型智能指针
可以被自由地拷贝和赋值
当引用计数为0时才删除指向的对象
小结
智能指针c++中自动内存管理的主要手段
智能指针在各种平台上都有不同的表现形式
智能指针能够尽可能的避开内存相关的问题
STL和Qt中都提供了对只能指针的支持
标签:智能 计数 一个 拷贝构造 不同的 stl weak_ptr 机制 ++
原文地址:https://www.cnblogs.com/sugarWill666/p/9215929.html