supposant que je définie mon singleton avec la classe suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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