C++ Singleton design pattern

Recientemente me he topado con una realización / implementación del patrón de diseño Singleton para C ++. Se ha visto así (lo he adoptado del ejemplo de la vida real):

<code>// a lot of methods are omitted here
class Singleton
{
   public:
       static Singleton* getInstance( );
       ~Singleton( );
   private:
       Singleton( );
       static Singleton* instance;
};
</code>

De esta declaración puedo deducir que el campo de instancia se inicia en el montón. Eso significa que hay una asignación de memoria. ¿Qué es completamente incierto para mí cuándo va a desasignarse exactamente la memoria? ¿O hay un error y la pérdida de memoria? Parece que hay un problema en la implementación.

Mi pregunta principal es, ¿cómo lo implemento de la manera correcta?

Respuestas a la pregunta(18)

Su respuesta a la pregunta