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

            大龍的博客

            常用鏈接

            統(tǒng)計(jì)

            最新評(píng)論

            test(int& n){略} 比test(int n)效率

            test(int& n){略} 比test(int n){略} 這個(gè)效率一樣,但是一般int這些并非類(lèi)或者結(jié)構(gòu)型變量是不用引用傳址的,除非你要修改傳過(guò)來(lái)的n在原函數(shù)中的值.因?yàn)橐脗髦穫鞯氖且粋€(gè)指針,系統(tǒng)中是一個(gè)push一個(gè)pop兩個(gè)指令,int也是兩這個(gè)指令,效率相同.

            但是結(jié)構(gòu)或者類(lèi)若不是引用傳址,系統(tǒng)會(huì)先在棧里分配一個(gè)臨時(shí)變量出來(lái),然后在進(jìn)行調(diào)用類(lèi)的構(gòu)造函數(shù),再把成員變量進(jìn)行賦值,等該函數(shù)返回后還要進(jìn)行調(diào)用析構(gòu)函數(shù),這樣就會(huì)使本來(lái)很簡(jiǎn)單的工作出現(xiàn)很多無(wú)用功,導(dǎo)致程序效率下降.


            從匯編也可以看出是否產(chǎn)生了臨時(shí)變量

            posted on 2009-09-25 00:45 大龍 閱讀(296) 評(píng)論(1)  編輯 收藏 引用

            評(píng)論

            # re: test(int& n){略} 比test(int n)效率 2009-09-25 09:48 陳梓瀚(vczh)

            不一樣,變量在指令里面你知道的都是一些地址。test(int&)的時(shí)候你直接
            lea eax, [ebp+?]
            push eax
            而test(int)的時(shí)候你卻需要
            mov eax, [ebp+?]
            push eax
            調(diào)用的時(shí)候顯然引用快一點(diǎn)
            --------------------------------------
            但是
            --------------------------------------
            test里面使用的情況就不一樣了。假設(shè)這個(gè)時(shí)候參數(shù)的地址是ebp+??,那么我執(zhí)行一個(gè)賦值,test(int&)需要
            mov eax, [ebp+??]
            mov eax, [eax]
            而test(int)只需要
            mov eax, [ebp+??]
            顯然,對(duì)于test里面參數(shù)只是用一次的情況下引用會(huì)慢一點(diǎn)點(diǎn),但是大量使用的情況下呢,引用的開(kāi)銷(xiāo)就越來(lái)越大了
            --------------------------------------
            所以
            --------------------------------------
            它們的差別還是很大的  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            伊人久久五月天| 久久香蕉国产线看观看99 | 久久大香香蕉国产| 国产99久久久国产精免费| 久久久久国产亚洲AV麻豆| 久久一日本道色综合久久| 久久不见久久见免费影院www日本| 久久这里都是精品| 久久久精品免费国产四虎| 国产成人精品综合久久久| 国内精品欧美久久精品| 无码人妻久久久一区二区三区| 久久久久久无码国产精品中文字幕| 久久水蜜桃亚洲av无码精品麻豆| 久久精品国产一区二区电影| 久久91精品国产91久久小草| 青青草原综合久久大伊人| 亚洲综合精品香蕉久久网97| 国产精品免费看久久久| 中文国产成人精品久久不卡| 亚洲国产一成久久精品国产成人综合 | 久久久老熟女一区二区三区| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久综合综合久久狠狠狠97色88| 亚洲国产视频久久| 久久国产精品免费一区| 日本道色综合久久影院| 久久不射电影网| 国产美女久久久| 热久久国产精品| 久久99久久成人免费播放| 精品人妻伦九区久久AAA片69| 久久久精品免费国产四虎| 久久国产免费观看精品| 久久免费高清视频| 青青草国产精品久久| 99久久亚洲综合精品网站| 精品久久久久久久中文字幕 | 久久99国产精品久久| 国产精品狼人久久久久影院| 久久久久久极精品久久久|