在c++程序中,内存管理中经常隐藏着很深的bug。
         虽然我们一般可以采用vector,string,map等容器自动管理内存,
但涉及多态,继承的时候也不可避免的要手动管理,c++标准库中提供的能一定程度上帮助我们。

用法:
1.需要包含头文件

2.Constructor:explicit (X* p = 0) throw();
将指针p交给对象托管

3.Copy constructor:
(const &) throw();
template (const & a) throw();
指针的托管权会发生转移

4.Destructor: ~();
释放指针p指向的空间

5.提供了两个成员函数
X* get() const throw();//返回保存的指针,对象中仍保留指针
X* release() const throw();//返回保存的指针,对象中不保留指针