原则 为防止资源泄露,多使用对象管理资源,他们在构造函数中得到资源在析构函数中释放资源,依赖析构函数,特别对于工厂方法等获得等对象指针
如下:
Object * createInstance(){
...
return * obj
}
对于这种为加工等裸指针,很容易造成资源泄漏,一种对象管理资源等方式是用智能指针来包装对象,如shared_ptr,auto_ptr
shared_ptr可以复制,通过计数方式记录引用,当引用为0时自动调用shared_ptr所指对象当析构函数,依赖对象自身当析构函数释放资源;另外资源不光时内存,还有文件描述符,句柄等。