Compte tenu std::vector<A>::iterator
et std::map<A, B>::iterator
, comment puis-je appeler explicitement leurs destructeurs? Je ne connais pas les noms réels de ces types, car les types de membres ::iterator
sont typedefs/aliases aux classes spécifiques à l'implémentation.Comment appeler explicitement le destructeur d'itérateurs std?
Je pose cette question, car je stocke ces itérateurs dans une union C++ non restreinte et Visual Studio me demande de gérer manuellement la destruction. I pourrait tout simplement ne pas appeler le destructeur de l'élément actif et supposer que les itérateurs n'ont pas besoin d'être nettoyés, mais que cela pue une mauvaise pratique.
Cela sent comme si vous le faites mal. Mais je ne sais pas ce que tu fais, donc je ne peux pas t'aider à faire un autre, peut-être mieux. – rubenvb