• <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>

            的筆記

            隨時隨地編輯

            C++繼承類中構造函數與析構函數的容易誤解的地方

            有C++繼承關系:A派生B,B派生C
            然后new C
            最后delete C
            一般給出的的順序是:構造A,構造B,構造C,析構C,析構B,析構A
            這其中容易誤解.編譯器在new C和delete C中插入了自動代碼
            真實的訪問順序是C,B,A,~C,~B,~A.

            匯編調用結構如下:
            C入口
             |  +call B入口
             |  |    +call A入口
             |  |           A后續指令(后續指令指構造函數體中第一條C++語句)
             |  +B后續指令
            C后續指令

            ~C入口
            ~C后續指令
               +call ~B
                      B后續指令
                      call ~A
                           A后續指令

            詳情看反匯編吧.

            ---------------------------
            這樣理解就對了,感謝玉清同學:
            訪問順序當然是C,B,A..
            但是構造順序是A,B,C

            posted on 2013-03-29 23:46 的筆記 閱讀(765) 評論(1)  編輯 收藏 引用 所屬分類: C++

            評論

            # re: C++繼承類中構造函數與析構函數的誤解 2013-03-30 00:11 楊漱玉青

            喵喵喵~~晚安~~  回復  更多評論   

            91精品国产91久久久久久蜜臀| 久久99久国产麻精品66| 久久精品一区二区三区不卡| 99麻豆久久久国产精品免费| 日本精品久久久久中文字幕| 久久久久99精品成人片牛牛影视| 久久精品久久久久观看99水蜜桃| 久久精品国产亚洲AV大全| 亚洲一本综合久久| 精品国产青草久久久久福利| 国产成年无码久久久久毛片| 人人狠狠综合久久亚洲| 99国产精品久久久久久久成人热| 中文字幕精品无码久久久久久3D日动漫| 国产精品久久久久久五月尺| 国产高潮国产高潮久久久91 | 久久人人超碰精品CAOPOREN| 亚洲午夜久久久影院| 欧美久久一区二区三区| 久久线看观看精品香蕉国产| 午夜精品久久久久久久久| 久久丝袜精品中文字幕| 欧美精品一本久久男人的天堂| 一本久久a久久精品亚洲| 日韩久久无码免费毛片软件 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久国产精品免费一区| 日韩久久久久久中文人妻| 中文字幕精品无码久久久久久3D日动漫| 久久99国产精品一区二区| 久久99精品久久久久久久不卡| 亚洲欧洲精品成人久久曰影片| 久久精品国产亚洲7777| 国产毛片久久久久久国产毛片| 伊人丁香狠狠色综合久久| 国产精品免费福利久久| 狠狠色丁香久久婷婷综| 久久国产精品一区二区| 精品久久久久中文字幕一区| 国产成人精品久久亚洲| 久久精品国产欧美日韩|