Salut dans une classe cpp X J'ai unstd :: map <struct, int> Ai-je besoin de destructeur?
class X{
private:
std::map<some_struct, int> C;
}
Où some_struct est défini comme:
typedef struct{
int a;
int b;
int c;
}some_struct;
Ma question est la suivante: dois-je préciser quoi que ce soit au sujet de la carte C dans le destructor de X? Si oui, que doit faire le destructeur de X pour la carte C?
Faire une fonction de suppression ou efface la fonction qui traverse chaque élément et l'efface/le supprime de la carte et appelle cette fonction dans votre destructeur dans la classe X. –
@OmidCompSCI ne faites pas cela. destructeur de 'std :: map' le fait d'une manière plus efficace –
vous devriez simplement suivre la règle de zéro: http://fr.cppreference.com/w/cpp/language/rule_of_three https://rmf.io/cxx11/rule-of-zero/ –