我需要一个对象级变量(TIniFile* ini
)。过去,代码示例和/或惯例将是new
/delete
对象,如下所示:
主程序
...
private:
TIniFile* ini;
...
constructor
...
ini = new TiniFile(fileName);
...
析构函数
...
delete ini;
...
我已经看到很多关于使用std::unique_ptr()
替代方法的信息。这是否能实现我所想的功能:在释放对象时自动释放内存?
frmMain.h
#include <memory>
...
private:
std:unique_ptr<TIniFile> ini;
...
constructor
...
ini = make_unique<TiniFile>(fileName);
...
没有析构函数
是的。当包含对象被销毁时,它将销毁其
unique_ptr
成员对象,进而销毁TIniFile
其拥有的对象。