私は動的に割り当てられたオブジェクト内のラムダへのポインタを格納しています:ラムダを削除する必要がありますか?
struct Function {
SomeType*(*func)(int);
Function(SomeType*(*new_func)(int)):
func(new_func) {}
}
Function* myf = new Function(
[](int x){ return doSomething(x); }
);
delete myf;
が、私はこのクラスのデストラクタに特別な何かを書くことはありますか?
1つの発言 - なぜ 'new'と' delete'の代わりに 'unique_ptr'や' shared_ptr'を使わないのですか? –
デストラクタで特別なことを書かなければならないと思われるのはなぜですか? – user2079303
何かがポインタであるという事実だけでは、それを削除する必要はありません。 –