Tengo un estático std::vector
en una clase. Cuando uso de pérdida de memoria herramientas de detección de Microsoft:Fuga de memoria (más o menos) con un estándar estático :: vector
_CrtMemState state;
_CrtMemCheckpoint(& state);
_CrtMemDumpAllObjectsSince(& state);
se reporta una fuga después de insertar cosas en el vector. Esto tiene sentido para mí porque se asigna un espacio nuevo cuando algo se inserta en el vector. Este espacio no se desasigna hasta que el programa finaliza (dado que el vector es estático). ¿Es esto correcto?
En el destructor de la clase que contiene el vector, estoy eliminando el objeto que puse en el vector. Sin embargo, la memoria asignada cuando se realizó la inserción todavía está dando vueltas. ¿Hay alguna forma de eliminar este espacio?
¿Puedes mostrar el código que inserta cosas en el vector y el código al que te refieres para eliminar el objeto que colocas en el vector? –
Puedo si estás interesado, pero James e ilproxyil me ayudaron a resolver el problema. Hazme saber si estas interesado. – Joe