• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 51, 文章 - 1, 評論 - 41, 引用 - 0
            數據加載中……

            CPPEXP —— 類成員初始化順序

            說明

            C++類成員初始化順序取決于其聲明順序,而非初始化列表的順序。

            測試代碼

            1. /**
            2. * 測試類成員的初始化順序
            3. * @file init_oder.cpp
            4. */
            5. #include <iostream>
            6. class Test {
            7. public:
            8. Test() : mBb(sIndex++), mAa(sIndex++) { }
            9. public:
            10. void Dump() {
            11. std::cout<< "a: " << mAa << ", b: " << mBb << std::endl;
            12. }
            13. protected:
            14. int mAa;
            15. int mBb;
            16. static int sIndex;
            17. };
            18. int Test::sIndex = 1;
            19. int main() {
            20. Test t;
            21. t.Dump();
            22. return 0;
            23. }

            運行及結果

            $ g++ init_order.cpp
            $ ./a.out
            a: 1, b: 2
            

            風險分析

            當類的成員初始化有依賴關系(如某個成員的構造函數的參數是另一個成員)時,較容易出錯。這是因為程序員的意圖(初始化列表順序)和程序的行為(成員聲明 順序)是分離的,前者一般位于實現文件,后者位于頭文件,編輯前者往往忽略后者。因此少用有依賴的初始化設計,并且在review中加入該檢查條目。





            posted on 2016-04-17 12:43 lemene 閱讀(314) 評論(0)  編輯 收藏 引用

            久久美女网站免费| 久久国产AVJUST麻豆| 精品九九久久国内精品| 久久久久中文字幕| 亚洲第一永久AV网站久久精品男人的天堂AV| 久久精品综合一区二区三区| 伊人久久大香线蕉AV色婷婷色| 久久国产精品成人片免费| 久久99精品久久久久久水蜜桃| 无码任你躁久久久久久久| 久久综合亚洲欧美成人| 四虎影视久久久免费| 久久精品天天中文字幕人妻| 久久久精品人妻无码专区不卡 | 国产精品99久久精品爆乳| 久久香综合精品久久伊人| 国产精品九九久久免费视频| 久久亚洲AV成人出白浆无码国产| 久久人妻少妇嫩草AV蜜桃| 久久96国产精品久久久| 青草国产精品久久久久久| 伊人色综合久久天天网| 久久精品国产只有精品66| 久久九九全国免费| 久久福利青草精品资源站| 奇米综合四色77777久久| 久久99久久99精品免视看动漫| 久久国产精品免费一区| 中文精品久久久久国产网址| 久久99精品久久只有精品 | 国产成人香蕉久久久久| 久久AV高清无码| 777米奇久久最新地址| 久久久久99精品成人片直播| 久久综合狠狠综合久久| 亚洲中文字幕久久精品无码APP| 久久婷婷人人澡人人爽人人爱| 久久久国产视频| 久久久久久精品免费免费自慰| 日本WV一本一道久久香蕉| 久久99久久99精品免视看动漫|