posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          MaNGOS閱讀筆記 (1)

          Posted on 2008-06-03 19:03 ZelluX 閱讀(783) 評論(0)  編輯  收藏 所屬分類: C/C++Laboratory
          1. framwork/policies/Singleton.h
          Singleton模式,可以指定相應的線程模型、創(chuàng)建策略和生命期控制策略。
          對于全局范圍的Singleton實例,定義了若干個宏便于訪問,例如
          #define?sLog?MaNGOS::Singleton<Log>::Instance()
          #define?sMaster?MaNGOS::Singleton<Master>::Instance()

          Singleton的定義:


          不知道這里的注釋Prohibited actions...this does not prevent hijacking.是什么意思,copy constructor和hijacking有什么關(guān)系呢?

          另外注意這行typedef typename ThreadingModel::Lock Guard;,原來typedef還可以用在函數(shù)上。

          Singleton的Instance方法用的是標準的double-checked lock方法,關(guān)于DCL可以參考這篇博文http://www.aygfsteel.com/zellux/archive/2008/04/07/191365.html

          2. Explicit Constructors
          game/WorkPacket.h中看到的語法,防止構(gòu)造函數(shù)中參數(shù)的隱式轉(zhuǎn)型
          比如explicit String(int n); 用String('c')聲明時就會報錯

          主站蜘蛛池模板: 正安县| 利辛县| 萝北县| 富平县| 丁青县| 新密市| 中卫市| 叙永县| 喀喇| 穆棱市| 济源市| 河池市| 平凉市| 元谋县| 攀枝花市| 龙江县| 扎鲁特旗| 安新县| 西乌珠穆沁旗| 万安县| 阿克| 华蓥市| 荆门市| 巴林右旗| 礼泉县| 梓潼县| 苍南县| 辽阳市| 永仁县| 瑞安市| 崇左市| 天祝| 诸城市| 拜城县| 寿宁县| 广宁县| 眉山市| 玉屏| 鄂温| 乳源| 黔西|