RAII:RAII是一种规范,一种解决问题的思想。定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。
注意:RAII并不等同智能指针!
智能指针
是RAII的一种应用,智能指针是能够像指针一样智能的管理对象的释放问题。
auto_ptr:
(有缺陷)
templete<classT>
class AutoPtr
{
public:
AutoPtr(T*ptr=NULL)
:_ptr(ptr)
{}
T& operator*()
{
return *_ptr;
}
T&operator->()
{
return _ptr;
}
AutoPtr<T>operator=(AutoPtr<T>&ap)