auto_ptr类
要包含auto_ptr类 需包含头文件#include <memory>
template<class X>
class auto_ptr
{
public:
explicit auto_pst(X* p=0) throw();
…
};
ep:
auto_ptr<double> pd (new double); new double出为一个地址或NULL
ep2:
auto_ptr构造函数是'显式'的因此不存从指针到auto_ptr对象隐式转换
auto_ptr<double> pd;
double *p_reg=new double;
pd=p_reg; //No
pd=auto_ptr<double> (p_reg); //Yes
auto_ptr<double> pp=p_reg; //No
auto_ptr<double> pp(p_reg); //Yes
///////////////////////////////////////////////
对new分配的使用 而不要对new []使用


浙公网安备 33010602011771号