智能指针
智能指针是为了避免内存泄漏的技术。
智能指针采用了RAII特性,利用对象生命周期来控制程序资源 ,在对象构造时获取资源,接着控制对资源的访问使之在对象的生命周期内始终保持有效,最后在对象析构的时候释放资源。借此,我们实际上把管理一份资源的责任托管给了一个对象。 这么做有两大好处:
1.不需要显式地释放资源
2.采用这种方式,对象所需的资源在其生命期内始终保持有效 。
C++的智能指针都在下边这个头文件中
#include <memory>
智能指针类模拟实现:
template<class T>
class SmartPtr {
public:
SmartPtr(T* ptr =