• <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后續(xù)指令(后續(xù)指令指構造函數體中第一條C++語句)
             |  +B后續(xù)指令
            C后續(xù)指令

            ~C入口
            ~C后續(xù)指令
               +call ~B
                      B后續(xù)指令
                      call ~A
                           A后續(xù)指令

            詳情看反匯編吧.

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

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

            評論

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

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

            精品乱码久久久久久久| 精品久久人人妻人人做精品 | 色婷婷综合久久久久中文 | 久久精品国产亚洲av日韩| 伊人久久精品线影院| 精品熟女少妇AV免费久久| 国产精品福利一区二区久久| 久久久噜噜噜久久| 久久91精品国产91久久小草| 日日狠狠久久偷偷色综合免费 | 亚洲va久久久噜噜噜久久天堂| 91麻精品国产91久久久久| 亚洲欧美日韩中文久久 | 看全色黄大色大片免费久久久| 99久久久精品免费观看国产| 欧美亚洲国产精品久久久久| 久久精品免费观看| 人妻无码久久一区二区三区免费| 久久强奷乱码老熟女| 国产高清美女一级a毛片久久w| 午夜精品久久久久久毛片| 2020国产成人久久精品| 国产激情久久久久影院老熟女| 久久精品无码一区二区无码| 中文字幕无码免费久久| 亚洲人AV永久一区二区三区久久| 久久av免费天堂小草播放| 久久九九有精品国产23百花影院| 久久久久免费看成人影片| 无遮挡粉嫩小泬久久久久久久| 少妇人妻综合久久中文字幕| 久久久久久午夜精品| 污污内射久久一区二区欧美日韩| 久久综合精品国产一区二区三区| 97精品国产97久久久久久免费| 国产精品99久久久久久www| 99久久www免费人成精品| 美女写真久久影院| 久久精品国产亚洲AV不卡| 欧美激情精品久久久久久久| 欧美午夜精品久久久久久浪潮|