Bonjour,
Je cherche à créer une classe de type singleton, donc qui n’admettrait pas que deux objets de cette classe soit présents en mémoire simultanément, mais en plus j’aimerais renforcé la contrainte. Je souhaite que durant toute l’exécution de mon programme, il soit impossible d’instancier plusieurs objets singletons, même s’ils se sont pas présent en même temps en mémoire. En d’autre termes, si un object singleton est crée, puis détruit, je veux interdire à quiconque d’en créer un nouveau.
Voici mon code (enfin, voici le code que j’ai pompé sur Wikipédia serait plus honnête ^^) :
Muxer.h
class Muxer
{
public:
static Muxer* getInstance();
~Muxer();
private:
Muxer();
};
Muxer.cpp
Muxer* Muxer::getInstance()
{
static Muxer* instance = new Muxer();
return instance;
}
Après moult tests et lectures, je pense - je dis bien, je pense - que cette configuration est suffisante. Si j’ai tout bien compris, la ligne d’instanciation de la variable statique ne sera exécuté qu’une seule fois au lancement du programme, donc l’appel au constructeur le sera une seule et unique fois également.
Mais comme je suis loin d’être sur de mon coup, je serais rassuré si quelqu’un pouvait pour confirmer ça svp.
Merci d’avance.