destruction d'un Singleton Pattern : Static ou non Static
supposant que je définie mon singleton avec la classe suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| class A {
private:
A(){};
A(const A& instance){};
~A(){};
static A* uniqueInstance=NULL;
public:
static A* getInstance(){
if (uniqueInstance==NULL)
uniqueInstance=new A();
return uniqueInstance;
}
void destroy(){
if (uniqueInstance != NULL){
delete uniqueInstance;
uniqueInstance=NULL;
}
} |
est ce que la fonction destroy() qui détruit le singleton doit être static vue qu'elle sera la dernière exécuter par le singleton donc elle retournera la main à la fonction supérieur (le main par exemple) donc inutile de la déclarer static ???
Qu'elle est la vrai recommendation au niveau conceptuel et pourquoi ?
merci