- 利用destructor避免资源泄漏=》利用对象来存放资源【有时在析构函数之前会发生异常,导致析构函数无法被执行,从而导致内存泄漏。】
//智能指针是一个类里面维护了一个指针。同时含有构造函数与析构函数。
viod processadotions(istream& datasources){
auto_ptr<ALL>pa(readALL(datasources));
pa->processadoption();
}
- 设计一个类令constructor与destructor分别得到资源与释放资源
//创建窗口类
class WindowHandle{
public:
WindowHandle(WINDOW_HANDLE handle):w(handle){}//单自变量constructor的类型转换函数
~WindowHandle(){destroyWindow(w)};
operator WINDOW_HANDLE(){return w;}
private:
WINDOW_HANDLE W;
WindowHandle(const WindowHandle&);
WindowHandle&operator=(const WindowHandle);
};
void display(const INformation& info){
WindowHandle w(createWindow());
}