青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-60  評論-111  文章-0  trackbacks-0
只知道 一個函數 如果返回值是一個對象的話 肯定是要涉及到copy construct的 還會構造臨時對象 那如果返回的是引用呢?
帶著n多的疑問?寫了下面的代碼 來解惑

?1#include?<iostream>
?2
?3class?TestClass
?4{
?5private:
?6????static?int?cnt;
?7????int?idx;
?8????int?age;
?9public:
10????int?GetAge(){return?age;}
11????TestClass(int?n)
12????{
13????????idx=cnt;
14????????cnt++;
15
16????????age=n;
17????????std::cout<<idx<<"?TestClass(int?n)"<<std::endl;
18????}

19????TestClass()
20????{
21????????idx=cnt;
22????????cnt++;
23
24????????age=-1;
25????????std::cout<<idx<<"?TestClass()"<<std::endl;
26????}

27????TestClass(const?TestClass&?v)
28????{
29????????idx=cnt;
30????????cnt++;
31
32????????age=v.age;
33????????std::cout<<idx<<"?TestClass(const?TestClass&?v)"<<std::endl;
34????}

35????~TestClass()
36????{
37????????std::cout<<idx<<"?~TestClass()"<<std::endl;
38????}

39????const?TestClass&?operator=?(const?TestClass&?v)
40????{
41????????age=v.age;
42????????std::cout<<idx<<"?operator="<<std::endl;
43????????return?*this;
44????}

45}
;
46
47int?TestClass::cnt=0;
48
49TestClass?Get()
50{
51????TestClass?l(1);
52????return?l;
53}

54
55TestClass?Get2()
56{
57????return?TestClass(2);
58}

59
60TestClass&?Get3()
61{
62????TestClass?l(3);
63????return?l;
64}

65
66TestClass&?Get4()
67{
68????return?TestClass(4);
69}

70
71void?test(void)
72{
73????TestClass?t;
74????std::cout<<"\t0"<<"\tAge="<<t.GetAge()<<std::endl;
75????t=Get();
76????std::cout<<"\t1"<<"\tAge="<<t.GetAge()<<std::endl;
77????t=Get2();
78????std::cout<<"\t2"<<"\tAge="<<t.GetAge()<<std::endl;
79????t=Get3();
80????std::cout<<"\t3"<<"\tAge="<<t.GetAge()<<std::endl;
81????t=Get4();
82????std::cout<<"\t4"<<"\tAge="<<t.GetAge()<<std::endl;
83}

84
85int?main(int?argc,?char*?argv[])
86{
87????test();
88????system("pause");
89????return?0;
90}

91

代碼輸出是這樣的


顯然Get3&Get4是不能得到正確的結果的,因為函數返回時,局部對象的生存期就結束了,是對象的話就被解構了,所以返回的引用也不能對應正確的對象

Get2比Get少構造一個對象,當計算不是很復雜時Get2顯然是最高效滴
posted on 2006-09-05 03:08 shaker(太子) 閱讀(600) 評論(3)  編輯 收藏 引用 所屬分類: C++

評論:
# re: 函數返回對象各種方法,怎樣才是最高效? 2006-09-05 17:50 | chenger
現在的編譯器都實現了返回值優化,一定程度上能減少拷貝次數  回復  更多評論
  
# re: 函數返回對象各種方法,怎樣才是最高效? 2006-09-05 17:54 | 周星星
“ 一個函數 如果返回值是一個對象的話 肯定是要涉及到copy construct的 還會構造臨時對象”
------ 在google上搜索一下 rvo 和 nrvo,或者直接看C++標準文檔,不過那花費時間:)  回復  更多評論
  
# re: 函數返回對象各種方法,怎樣才是最高效? 2006-09-06 03:24 | shaker
謝謝指點  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久夜色精品| 亚洲国产精品精华液2区45| 国产一区二区看久久| 国产精品swag| 国产精品美女久久久免费| 国产精品美女久久福利网站| 国产伦精品一区二区三区四区免费 | 日韩午夜剧场| 一区二区三区欧美日韩| 亚洲素人在线| 亚洲欧美一区二区三区久久| 久久精品三级| 欧美日韩二区三区| 国产欧美欧美| 亚洲精品一区在线观看香蕉| 亚洲欧美激情在线视频| 久久午夜电影| 99国产精品99久久久久久| 销魂美女一区二区三区视频在线| 蜜臀a∨国产成人精品| 欧美午夜视频在线观看| 国内成+人亚洲+欧美+综合在线| 亚洲黄一区二区三区| 性久久久久久久| 亚洲国产你懂的| 亚洲欧洲三级电影| 篠田优中文在线播放第一区| 欧美成人乱码一区二区三区| 亚洲网址在线| 欧美激情一区二区三区在线| 国产香蕉久久精品综合网| 99国产精品99久久久久久粉嫩| 久久精品国产亚洲aⅴ| 亚洲免费高清| 欧美丰满高潮xxxx喷水动漫| 国内精品久久久久久久影视麻豆| 正在播放日韩| 亚洲国产精品免费| 久久久噜噜噜久久中文字免| 国产精品影视天天线| 一本一本久久a久久精品综合麻豆| 久久精品日韩欧美| 亚洲午夜性刺激影院| 欧美性感一类影片在线播放| 亚洲精品一线二线三线无人区| 久久免费国产| 午夜精品区一区二区三| 国产精品对白刺激久久久| 亚洲久久在线| 亚洲区第一页| 亚洲国产一成人久久精品| 欧美一站二站| 国产精品主播| 欧美在线网站| 欧美一级在线视频| 国产日韩亚洲| 久久精品一区二区国产| 亚洲在线观看免费| 国产精品久久久久av| 亚洲制服av| 亚洲永久免费| 国产一区视频在线观看免费| 久久久亚洲人| 另类图片综合电影| 亚洲精品视频二区| 亚洲精品欧美在线| 国产精品va在线| 欧美在线播放一区二区| 欧美一级片久久久久久久| 国外视频精品毛片| 欧美国产日韩在线观看| 欧美日韩国产成人高清视频| 亚洲影院免费| 欧美一区二区三区四区在线观看| 国产一区二区三区四区在线观看| 久久影视精品| 欧美另类女人| 欧美亚洲在线观看| 久久久久久有精品国产| 日韩一级在线观看| 一本一本久久a久久精品综合妖精| 国产精品国产自产拍高清av王其| 久久精品国产第一区二区三区最新章节| 欧美在线影院| 日韩一级在线观看| 亚洲欧美一区二区三区久久| 亚洲国产精品日韩| 一区二区欧美在线| 一区二区三区在线不卡| 日韩一级黄色大片| 国模一区二区三区| 亚洲精品影视在线观看| 国产午夜精品久久久久久免费视| 欧美成人官网二区| 国产精品主播| 日韩一级免费| 影音先锋国产精品| 亚洲午夜精品一区二区| 亚洲国产精品精华液网站| 中文精品视频一区二区在线观看| 黑人极品videos精品欧美裸| 日韩一级不卡| 亚洲精品乱码久久久久久按摩观 | 亚洲国产高清高潮精品美女| 日韩亚洲精品电影| 亚洲国产欧美国产综合一区 | 亚洲黄色成人久久久| 国产精品久久网站| 最近看过的日韩成人| 狠狠色狠狠色综合系列| 亚洲欧美激情视频在线观看一区二区三区| 久久se精品一区二区| 在线一区二区三区做爰视频网站| 久久久亚洲国产天美传媒修理工 | 午夜国产精品影院在线观看 | 在线播放日韩欧美| 亚洲一区二区三区四区中文| 最近看过的日韩成人| 欧美在线亚洲综合一区| 午夜精品久久久| 欧美视频一区二区在线观看| 最新国产乱人伦偷精品免费网站| 精品成人在线| 久久久久国产精品一区三寸| 欧美一级午夜免费电影| 欧美视频导航| 日韩午夜激情| 亚洲一区二区三区在线观看视频| 欧美激情五月| 亚洲美女诱惑| 亚洲一区在线免费观看| 国产精品v欧美精品∨日韩| 一区二区三区产品免费精品久久75| 99热在这里有精品免费| 欧美激情精品久久久久久大尺度| 亚洲第一福利视频| 9l国产精品久久久久麻豆| 欧美日韩亚洲成人| 亚洲夜晚福利在线观看| 久久九九免费视频| 韩国av一区二区| 可以看av的网站久久看| 欧美激情一区二区三级高清视频 | 亚洲天堂av在线免费| 欧美日本在线播放| 99精品国产在热久久| 亚洲欧美日韩精品久久奇米色影视| 国产精品福利av| 欧美亚洲在线观看| 理论片一区二区在线| 亚洲人成人77777线观看| 欧美精品一二三| 亚洲一区精品视频| 久久综合狠狠综合久久综青草 | 麻豆精品在线观看| 亚洲日本视频| 国产精品久久999| 久久动漫亚洲| 亚洲精品国产精品国产自| 小黄鸭精品aⅴ导航网站入口| 国产专区一区| 欧美日韩成人在线| 亚洲综合色噜噜狠狠| 美女日韩在线中文字幕| 这里只有精品视频在线| 国产主播精品| 欧美精品日韩一区| 性色av一区二区三区在线观看| 欧美大色视频| 国产丝袜一区二区三区| 久久久国产精品亚洲一区| 亚洲二区视频在线| 欧美一区二区三区婷婷月色| 亚洲国产高清aⅴ视频| 国产精品福利片| 免费视频久久| 欧美一区二区网站| 一本色道久久88亚洲综合88| 欧美jjzz| 久久精品伊人| 亚洲欧美日韩国产成人| 亚洲精品一区二区在线| 国产一区二区av| 国产精品久久久久影院亚瑟| 欧美www视频在线观看| 亚洲欧美国产视频| 亚洲精品一二| 亚洲国产清纯| 免费欧美日韩| 久久美女性网| 久久精品国产77777蜜臀| 亚洲午夜伦理| 一本色道婷婷久久欧美| 亚洲黄色尤物视频| 伊大人香蕉综合8在线视| 国产欧美综合在线| 国产精品乱看| 国产精品久久久久婷婷| 欧美色网在线| 欧美日韩123|