Es válido llamar directamente a un destructor (virtual)?

Inesta respuesta, Ryan llama directamente al destructor virtual. He probado el código en VS2010, y llama correctamente a todos los destructores (probado con declaraciones de registro). ¿Es realmente válido hacerlo? ¿Cuáles son los problemas, defectos o incluso los puntos positivos de este enfoque?

Solo puedo pensar en ello como una forma de forzar realmente un reinicio del tipo real, incluso si no anulan un @ virtureset función, ya que al menos tienen que limpiar en sus destructores.

Además, ¿qué efectos secundarios trae una llamada al destructor? ¿Es un comportamiento indefinido usar el objeto después de una llamada de destructor? ¿Qué pasa si uno lo reinicializa inmediatamente con unanew (this) MyClass(); ¿llamada

Respuestas a la pregunta(3)

Su respuesta a la pregunta