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模式,可以指定相應(yīng)的線程模型、創(chuàng)建策略和生命期控制策略。
          對于全局范圍的Singleton實(shí)例,定義了若干個宏便于訪問,例如
          #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方法用的是標(biāo)準(zhǔn)的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')聲明時就會報錯

          主站蜘蛛池模板: 冷水江市| 凤凰县| 中山市| 鲁甸县| 兴海县| 华阴市| 襄樊市| 普定县| 丰县| 仁寿县| 墨江| 龙口市| 汕头市| 环江| 武邑县| 壤塘县| 麻栗坡县| 弥勒县| 台山市| 永春县| 茌平县| 丽水市| 建昌县| 涞源县| 连南| 靖西县| 明溪县| 轮台县| 高要市| 榆社县| 清远市| 霍林郭勒市| 溧水县| 华亭县| 咸宁市| 黄平县| 秦皇岛市| 全南县| 铜梁县| 渝中区| 藁城市|