Récemment, je suis tombé sur une réalisation/mise en œuvre du modèle de conception Singleton pour le C++. Il a regardé comme ça (je l'ai adopté à partir de l'exemple réel):
// a lot of methods are omitted here
class Singleton
{
public:
static Singleton* getInstance( );
~Singleton( );
private:
Singleton( );
static Singleton* instance;
};
À partir de cette déclaration, je peux en déduire que le champ d'instance est lancée sur le tas. Cela signifie qu'il ya une allocation de mémoire. Ce qui est tout à fait clair pour moi, c'est quand exactement la mémoire va être libéré? Ou il y a un bug et une fuite de mémoire? Il semble qu'il y est un problème dans la mise en œuvre.
Ma principale question est, comment puis-je mettre en œuvre dans le droit chemin?