• <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 閱讀(308) 評論(0)  編輯 收藏 引用

            国产一级做a爰片久久毛片| 狠狠色综合网站久久久久久久| 久久久久亚洲精品中文字幕| 久久久国产精华液| 久久国语露脸国产精品电影| 99国产精品久久| 日本精品久久久久影院日本| 久久精品国产久精国产思思| 国产午夜精品久久久久九九| 久久亚洲熟女cc98cm| 久久不射电影网| 久久棈精品久久久久久噜噜| 久久综合给合综合久久| 色偷偷久久一区二区三区| 精品久久久久久无码中文野结衣| 老男人久久青草av高清| 国产精品久久久久久久久久免费| 久久精品国产99久久久古代| 久久精品草草草| 国产综合久久久久久鬼色| 亚洲一级Av无码毛片久久精品| 久久国产一区二区| 99re这里只有精品热久久| 久久99久久99精品免视看动漫| 久久久久久久久久免免费精品| 久久99精品国产麻豆宅宅| 久久精品夜夜夜夜夜久久| 欧美日韩精品久久久久| 久久综合久久伊人| 久久精品国产欧美日韩99热| 久久综合亚洲色HEZYO国产| 99久久精品国产一区二区| a高清免费毛片久久| 97久久久精品综合88久久| 天天躁日日躁狠狠久久| 一本久久a久久精品vr综合| 久久精品国产亚洲AV蜜臀色欲 | 久久久久黑人强伦姧人妻| 久久亚洲国产中v天仙www| 国产国产成人精品久久| 久久精品国产99国产电影网 |