首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

复制的指针莫非也可以用delete

2013-06-25 
复制的指针难道也可以用delete?C++ primer 422页在描述智能指针的时候定义下面这个类:int *pnew int(42)

复制的指针难道也可以用delete?
C++ primer 422页在描述智能指针的时候定义下面这个类:
int *p=new int(42);

class U_pter{
friend class Hasptr;
int *ip;
size_t use;
U_ptr(int *p): ip(p),use(1) {}
~U_ptr() (delete ip;}      ///////////这个可以delete吗??
}

我的疑惑就在注释那行, 指针ip是通过复制p得到的,但是析构函数中却用了delete对ip进行操作,这样可以吗?(delete不是智能释放new分配的对象吗?)
[解决办法]
重要的是指针是否指向new 分配的空间.

热点排行