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 []使用

                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

posted @ 2007-03-14 16:35  Edward Xie  阅读(172)  评论(0)    收藏  举报