Menu

#618 Singletonの実装変更

None
closed
nobody
None
5
2013-11-26
2013-06-23
novice123
No

http://stackoverflow.com/questions/1008019/c-singleton-design-pattern
上記に記載している実装にしました。
デストラクタが呼ばれるので、CShareDataのSingleton風もTSingletonに置き換えができます。

1 Attachments

Discussion

  • Moca

    Moca - 2013-06-23

    CAppNodeManager inst = CAppNodeManager();
    CAppNodeManager inst2;
    等しても怒られなくなりました。
    間違って書かなければいいんですが、自信はないです。

     
  • novice123

    novice123 - 2013-06-23

    Tsingletonを継承しているクラスのコンストラクタをprivateにしました。コンパイル時にエラーになります。

    変更時に気が付きましたが、Tsingletonを継承しているクラスで、デストラクタが記述されているものがありました。
    CFigureManager
    CColorStrategyPool

     
  • novice123

    novice123 - 2013-08-10

    [r3302]でcommitしました。

    このSingletonはスレッドセーフではないです(変更前後に関係なく)。
    スレッドセーフにするのであれば、
    Double-checked locking等の対応が必要のようです。

     

    Related

    Commit: [r3302]


    Last edit: novice123 2013-08-10
  • novice123

    novice123 - 2013-09-06

    下記クラスの継承をTSingleInstance->TSingletonに変更しました。
    CEditApp
    CEditWnd

     
  • novice123

    novice123 - 2013-09-09

    [r3348]でcommitしました。

     

    Related

    Commit: [r3348]

  • Moca

    Moca - 2013-09-23
    • status: open --> closed
    • Group: -->
     
  • novice123

    novice123 - 2013-09-24

    CShareDataのSingleton風をTSingletonに置き換えました。

     
  • Moca

    Moca - 2013-09-24
    • status: closed --> open
     
  • novice123

    novice123 - 2013-09-28

    conflict対応しました。

     
  • novice123

    novice123 - 2013-09-28

    [r3373]でcommitしました。

     

    Related

    Commit: [r3373]

  • Moca

    Moca - 2013-11-26
    • status: open --> closed
     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.