auto_ptr赋值问题

今天刚刚看了effective C++中关于资源管理的部分,发现原来有这么好用的指针。。。汗。刚刚开始学编C++,之前发现指针导致的资源的泄露,都是自己手工调试找到位置进行delete的。。。肯跌了。。。。自以为已经解决了这个问题,看书以后发现其实没有要是强制关闭程序就会导致没有执行到delete,导致内存泄露。发现还是得用资源管理才行,(都说是经典的内存泄露问题,才发现。。。)。于是跟着书里说的

获得资源立即放入管理对象

把正在写的程序用到资源的指针地方都换成auto_ptr,刚开始使用遇到两个问题,这里记录一下

1.auto_ptr 头文件位置

2.auto_ptr赋值问题
由于是类的成员变量,不想在类初始化的时候就建立资源,想要用到的地方使用,使用如下语句赋值
std::auto_ptr ap; ap = new myclass();
结果发现出错在网上找了一下,找到了一个说法
二级指针问题
那不能直接新建赋值(这个还不定,求大神指导),只好绕路了。。。如下
std::auto_ptr temp(new myclass()); ap = temp;
问题搞定(暂时吧),还得好好学习啊。。。继续看书

你可能感兴趣的:(auto_ptr赋值问题)