こんにちは私が持っているsome_structは次のように定義されstd :: map <struct, int>デストラクタが必要ですか? cppのクラスXで
class X{
private:
std::map<some_struct, int> C;
}
:
typedef struct{
int a;
int b;
int c;
}some_struct;
私の質問です:私はXのデストラクタ内のマップCについては何も指定する必要がありますか? "はい"の場合、XのデストラクタはマップCに対してどのような操作を行うべきですか?
remove関数を作りますか、すべての要素を通過し、マップから消去/削除し、クラスXのデストラクタでその関数を呼び出します。 –
@OmidCompSCIしないでください。 'std :: map'のデストラクタはより効率的にそれを行います –
あなたはちょうどゼロのルールに従うべきです:http://en.cppreference.com/w/cpp/language/rule_of_three https://rmf.io/cxx11/0の規則/ –