http://stackoverflow.com/questions/1008019/c-singleton-design-pattern 上記に記載している実装にしました。 デストラクタが呼ばれるので、CShareDataのSingleton風もTSingletonに置き換えができます。
CAppNodeManager inst = CAppNodeManager(); CAppNodeManager inst2; 等しても怒られなくなりました。 間違って書かなければいいんですが、自信はないです。
Tsingletonを継承しているクラスのコンストラクタをprivateにしました。コンパイル時にエラーになります。
変更時に気が付きましたが、Tsingletonを継承しているクラスで、デストラクタが記述されているものがありました。 CFigureManager CColorStrategyPool
[r3302]でcommitしました。
このSingletonはスレッドセーフではないです(変更前後に関係なく)。 スレッドセーフにするのであれば、 Double-checked locking等の対応が必要のようです。
Commit: [r3302]
下記クラスの継承をTSingleInstance->TSingletonに変更しました。 CEditApp CEditWnd
[r3348]でcommitしました。
Commit: [r3348]
CShareDataのSingleton風をTSingletonに置き換えました。
conflict対応しました。
[r3373]でcommitしました。
Commit: [r3373]
Log in to post a comment.
CAppNodeManager inst = CAppNodeManager();
CAppNodeManager inst2;
等しても怒られなくなりました。
間違って書かなければいいんですが、自信はないです。
Tsingletonを継承しているクラスのコンストラクタをprivateにしました。コンパイル時にエラーになります。
変更時に気が付きましたが、Tsingletonを継承しているクラスで、デストラクタが記述されているものがありました。
CFigureManager
CColorStrategyPool
[r3302]でcommitしました。
このSingletonはスレッドセーフではないです(変更前後に関係なく)。
スレッドセーフにするのであれば、
Double-checked locking等の対応が必要のようです。
Related
Commit: [r3302]
Last edit: novice123 2013-08-10
下記クラスの継承をTSingleInstance->TSingletonに変更しました。
CEditApp
CEditWnd
[r3348]でcommitしました。
Related
Commit: [r3348]
CShareDataのSingleton風をTSingletonに置き換えました。
conflict対応しました。
[r3373]でcommitしました。
Related
Commit: [r3373]