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

          MaNGOS閱讀筆記 (1)

          Posted on 2008-06-03 19:03 ZelluX 閱讀(783) 評(píng)論(0)  編輯  收藏 所屬分類: C/C++Laboratory
          1. framwork/policies/Singleton.h
          Singleton模式,可以指定相應(yīng)的線程模型、創(chuàng)建策略和生命期控制策略。
          對(duì)于全局范圍的Singleton實(shí)例,定義了若干個(gè)宏便于訪問,例如
          #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')聲明時(shí)就會(huì)報(bào)錯(cuò)

          主站蜘蛛池模板: 怀仁县| 遵义县| 永城市| 新营市| 吴堡县| 江陵县| 南开区| 荥经县| 凤翔县| 吴忠市| 东丰县| 桦南县| 通许县| 余姚市| 大渡口区| 临夏县| 天气| 蒲城县| 浪卡子县| 宁蒗| 布尔津县| 永清县| 台中市| 团风县| 鄂尔多斯市| 吉林省| 同仁县| 泰和县| 永寿县| 含山县| 巧家县| 博爱县| 罗城| 商河县| 昭苏县| 化隆| 交城县| 固镇县| 安福县| 京山县| 来凤县|