Encontré un uso extraño del destructor mientras trabajaba en una biblioteca existente. El destructor de un vector stl asignado a la pila se llamaba explícitamente, cuando es el caso de que ese objeto deba volver a utilizarse. Estos objetos vectoriales son una versión ligeramente personalizada de la clase de vector stl que tiene un método especializado clear
. En el cuerpo del destructor existen dos llamadas al método: clear()
, _Tidy()
.Objeto asignado a la pila de C++, llamada al destructor explícito
He estado tratando de pensar en una buena razón por la que se llama a este destructor en lugar de simplemente clear
pero estoy perdido. ¿Alguien arrojó alguna luz sobre por qué esto puede ser una buena idea?
¿Puede proporcionar una muestra de código, de los vectores dtor, y cómo se llama? –
¿Qué hace _Tidy()? – Brian
Muéstranos cómo se creó el vector. – sbi