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

隨筆-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>
            免费av成人在线| 99在线视频精品| 欧美aⅴ一区二区三区视频| 欧美一区二区三区四区在线观看地址 | 午夜精品在线视频| 午夜伦欧美伦电影理论片| 亚洲欧美中文在线视频| 久久久水蜜桃| 欧美日韩理论| 国模套图日韩精品一区二区| 亚洲区在线播放| 欧美一区二区三区播放老司机| 久久国产精品一区二区三区| 欧美a级一区二区| 99热精品在线| 久久亚洲图片| 国产精品成人aaaaa网站| 国内外成人免费视频| 亚洲毛片av| 久久国产精品久久久久久电车| 欧美凹凸一区二区三区视频| 99热这里只有成人精品国产| 亚洲视屏在线播放| 亚洲免费av观看| 亚洲欧美制服另类日韩| 久久在线免费观看视频| 日韩亚洲欧美在线观看| 久久久久久久精| 国产精品丝袜白浆摸在线| 亚洲精品在线观| 久久婷婷激情| 亚洲综合精品自拍| 欧美日韩不卡合集视频| 18成人免费观看视频| 午夜激情综合网| 亚洲国产清纯| 欧美一级一区| 国产精品福利网| 99精品欧美一区二区三区| 另类图片综合电影| 午夜久久影院| 欧美午夜在线观看| av不卡在线看| 亚洲第一天堂av| 久久免费少妇高潮久久精品99| 欧美午夜欧美| 亚洲视频精品在线| 亚洲精选在线观看| 欧美精品综合| 日韩午夜激情电影| 亚洲黄色av| 欧美国产专区| 亚洲精品一区二区在线观看| 久久亚洲午夜电影| 欧美亚洲在线观看| 国产啪精品视频| 欧美怡红院视频| 亚洲视频观看| 国产欧美日韩91| 欧美在线观看一区二区| 亚洲丝袜av一区| 国产精品国产三级国产aⅴ浪潮| 亚洲免费观看| 亚洲精品免费看| 欧美日韩成人综合| 亚洲综合好骚| 亚洲女女做受ⅹxx高潮| 国产精品任我爽爆在线播放| 亚洲欧美日韩另类| 性欧美暴力猛交另类hd| 韩国欧美一区| 欧美大香线蕉线伊人久久国产精品| 久久亚洲春色中文字幕久久久| 在线看日韩av| 亚洲韩国日本中文字幕| 欧美日韩一二三区| 欧美一区二区三区免费视频| 欧美一区二区日韩| 亚洲国内精品| 中文高清一区| 国语自产精品视频在线看抢先版结局 | 午夜精品久久久久久久久| 国产日产亚洲精品| 久久精品导航| 亚洲人午夜精品| 亚洲一区二区毛片| 亚洲一区二区三区色| 国产精品免费看| 欧美影院精品一区| 老司机午夜精品视频| 亚洲图片在线观看| 欧美一区二区在线免费播放| 91久久精品美女| 亚洲午夜一区二区三区| 国产一区二区三区不卡在线观看| 久久综合网hezyo| 欧美日韩免费精品| 欧美在线综合| 欧美日韩亚洲高清| 老色鬼精品视频在线观看播放| 欧美高清在线观看| 久久频这里精品99香蕉| 欧美日韩免费| 欧美高清在线视频观看不卡| 国产精品一区二区久久| 亚洲高清不卡av| 国产一区日韩二区欧美三区| 日韩视频二区| 亚洲欧洲一区二区三区久久| 亚洲欧美日韩成人| 一本大道久久a久久精二百| 久久av在线看| 性视频1819p久久| 欧美日韩免费一区二区三区视频| 久久综合九色| 国产一区再线| 欧美一区二区三区精品| 亚洲一区黄色| 欧美日韩国产电影| 91久久在线观看| 91久久在线播放| 狼狼综合久久久久综合网 | 国产精品二区在线观看| 亚洲黄色在线观看| 最新国产拍偷乱拍精品 | 国产精品系列在线| 一区二区成人精品| 99re在线精品| 一区二区三区波多野结衣在线观看| 尤妮丝一区二区裸体视频| 国产精品99久久不卡二区| 亚洲欧洲日本专区| 麻豆久久婷婷| 欧美成人精品在线视频| 激情亚洲一区二区三区四区| 香蕉乱码成人久久天堂爱免费| 亚洲深夜影院| 欧美视频在线免费| 一区二区三区色| 亚洲欧美日韩在线综合| 国产精品嫩草99a| 午夜欧美不卡精品aaaaa| 久久国产精彩视频| 激情久久影院| 裸体素人女欧美日韩| 欧美国产日韩一区二区三区| 亚洲精品看片| 国产精品国产馆在线真实露脸| 亚洲一区二区三区视频| 久久av一区二区三区| 国产曰批免费观看久久久| 久久久www成人免费精品| 欧美高清在线一区| 亚洲理论在线| 国产精品一区二区视频| 久久久www成人免费精品| 亚洲全黄一级网站| 性欧美办公室18xxxxhd| 好吊妞这里只有精品| 欧美va亚洲va日韩∨a综合色| 亚洲日本va午夜在线电影| 亚洲愉拍自拍另类高清精品| 国产偷国产偷亚洲高清97cao | 亚洲欧美在线一区二区| 国产综合久久| 欧美大色视频| 亚洲欧美色一区| 欧美激情国产日韩精品一区18| 在线一区二区三区做爰视频网站 | 亚洲精品中文字幕女同| 欧美日韩专区| 久久狠狠久久综合桃花| 亚洲精品日韩激情在线电影| 久久成人这里只有精品| 99re66热这里只有精品3直播| 国产日韩欧美中文在线播放| 欧美成人精品| 欧美在线观看www| 亚洲理伦在线| 欧美国产日韩精品免费观看| 欧美在线视频不卡| 夜夜夜精品看看| 亚洲高清久久网| 国产婷婷一区二区| 欧美特黄视频| 欧美国产极速在线| 久久久亚洲综合| 亚洲欧美日韩在线综合| 亚洲免费播放| 亚洲韩国青草视频| 欧美88av| 裸体素人女欧美日韩| 欧美亚洲一区在线| 亚洲精品久久嫩草网站秘色 | 久久久久久国产精品一区| 99国产精品久久久久老师| 精品999成人| 国产午夜精品在线| 国产精品一区二区三区成人| 欧美日韩国产区一|