摘要: C++的auto_ptr, auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理。1 构造函数与析构函数auto_ptr在构造时获取对某个对象的所有权(ownership),在析构时释放该对象。我们可以这样使用auto_ptr来提高代码安全性:int* p = new int(0);auto_ptr<int> ap(p);从此我们不必关心应该何时释放p, 也不用担心发生异常会有内存泄漏。这里我们有几点要注意:1) 因为auto_ptr析构的时候肯定会删除他所拥有的那个对象,所有我们就要注意了,一个萝卜一个坑,两个auto_ptr不能同时拥有同一个对象。像这样 阅读全文
posted @ 2012-07-29 21:55 bizhu 阅读(3682) 评论(0) 推荐(0) 编辑
摘要: 1.在类里涉及到对象拷贝的函数要复制类里每一个成分copy构造函数以及copy assignment操作符如class Test{private: string name;public: Test(const Test& rhs):name(rhs.name) {} Test& operator = (const Test& rhs) { name = rhs.name; return this; }};这样如果类里再添加一个成员变量时,就得需要修改这两个函数,不然新成员不会被拷贝的新对象中,而且编译器一般不会报错2.在继承中,注意base类的拷贝class derve 阅读全文
posted @ 2012-07-29 10:29 bizhu 阅读(336) 评论(0) 推荐(0) 编辑