J'ai un std::vector
statique dans une classe. Lorsque j'utilise les outils de détection de fuites de mémoire de Microsoft:Fuite de mémoire (sorte de) avec un statique std :: vector
_CrtMemState state;
_CrtMemCheckpoint(& state);
_CrtMemDumpAllObjectsSince(& state);
il signale une fuite après avoir inséré des trucs dans le vecteur. Cela a du sens pour moi parce que de nouveaux espaces sont alloués quand quelque chose est inséré dans le vecteur. Cet espace n'est libéré que lorsque le programme se termine (puisque le vecteur est statique). Est-ce correct?
Dans le destructeur de la classe qui contient le vecteur, je supprime l'objet que j'ai mis dans le vecteur. Cependant, la mémoire allouée lors de l'insertion est toujours présente. Est-il possible de supprimer cet espace?
Pouvez-vous montrer le code qui insère des choses dans le vecteur et le code auquel vous faites référence qui supprime l'objet que vous mettez dans le vecteur? –
Je peux si vous êtes intéressé, mais James et ilproxyil m'a aidé à résoudre le problème. Faites-moi savoir si vous êtes intéressé. – Joe