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

            大龍的博客

            常用鏈接

            統計

            最新評論

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

            test(int& n){略} 比test(int n){略} 這個效率一樣,但是一般int這些并非類或者結構型變量是不用引用傳址的,除非你要修改傳過來的n在原函數中的值.因為引用傳址傳的是一個指針,系統中是一個push一個pop兩個指令,int也是兩這個指令,效率相同.

            但是結構或者類若不是引用傳址,系統會先在棧里分配一個臨時變量出來,然后在進行調用類的構造函數,再把成員變量進行賦值,等該函數返回后還要進行調用析構函數,這樣就會使本來很簡單的工作出現很多無用功,導致程序效率下降.


            從匯編也可以看出是否產生了臨時變量

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

            評論

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

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

            午夜欧美精品久久久久久久| 久久996热精品xxxx| 色综合久久久久综合99| 久久av免费天堂小草播放| 天堂无码久久综合东京热| 日韩精品久久久久久免费| 美女写真久久影院| 人妻丰满?V无码久久不卡| 日韩人妻无码精品久久久不卡| 99精品久久精品| 国产高潮久久免费观看| 色妞色综合久久夜夜| 久久久久99精品成人片| 亚洲乱码精品久久久久..| 99久久国产主播综合精品| 国产69精品久久久久9999APGF | 一本一道久久精品综合| 亚洲国产成人久久精品99| 青青热久久综合网伊人| 国内精品人妻无码久久久影院导航 | 久久久久一本毛久久久| 国产精品美女久久久m| 久久AV高潮AV无码AV| 久久久人妻精品无码一区 | 久久亚洲国产成人精品无码区| 精品无码久久久久国产| 国内精品久久久久久久久电影网| 久久毛片免费看一区二区三区| 成人妇女免费播放久久久| 亚洲AV日韩精品久久久久久久| 久久人人爽人人澡人人高潮AV| 国内精品久久久久久久久| 93精91精品国产综合久久香蕉| 亚洲伊人久久大香线蕉苏妲己| 久久99国产亚洲高清观看首页| 久久99精品国产99久久6男男| 99久久国产热无码精品免费| 久久国产亚洲高清观看| aaa级精品久久久国产片| 久久91综合国产91久久精品| 久久精品一区二区三区不卡|