我有一个类,成员变量是std::unique_ptr<double[]>. 初始化该变量始终由 完成make_unique<double[]>(size)。但我不知道如何为这个成员变量编写析构函数代码
我知道std::unique_ptr有一个方法get_deleter(),但是当我查看文档时,它只提供自定义删除。我对类似的例子做了一些研究。但所有这些都是关于新的className(),不是make_unique()。
cpp的版本是c++17
我的代码
class test{
public:
test(int size) : size_{size}, arr_{make_unique<double[]>( size )} {}
~test(){
// how to destroy arr_
}
private:
int size_;
std::unique_ptr<double[]> arr_;
};
Run Code Online (Sandbox Code Playgroud)
我不知道如何开始。我知道有一个关键字delete,但我认为在这种情况下它没有用。
我不知道如何为该成员变量编写析构函数代码
无需编写任何特定内容即可销毁任何成员变量。在执行析构函数体后,所有成员对象以及基类对象都会被所有析构函数销毁。
不需要在析构函数体内做任何事情,因此隐式生成的析构函数对于该类来说就足够了。