Bonjour,
Je me suis toujours demande (dans un contexte monothread) pourquoi, pour �crire un singleton Widget, on ne fait g�n�ralement pas :
ou bien :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6 static Widget& instance() { static Widget w; return w; }
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6 static Widget& instance() { static Widget* w = new Widget(); return *w; }
plut�t qu'utiliser un membre static de la classe Widget :
Ce qui est qd m�me plus long � �crire ...
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 class Widget { public: ... static Widget& instance() { if (!w) { w = new Widget; } return *w; } ... private: static Widget* w; }; Widget* Widget::w = 0;
Partager