C語言函式的出口 return 語句

2021-05-22 19:27:17 字數 693 閱讀 3526

文章出處:http://blog.csdn.net/jimmy54/archive/2009/10/17/4688224.aspx

如果函式返回的值是乙個物件,那麼就要考慮return語句的效率了!

例如:**1

return string(str1+str2);

這是臨時物件的語法,表示「建立乙個臨時物件,並返回它」。但是它並不 與 「先建立乙個

區域性物件temp,然後返回它的結果」等價!!

如:**2

string temp(str1+str2);

return temp;

實際上它們差了很多了!

上面的 **2 執行時,將發生三件事:

1:temp物件被建立,同時完成初始化;

2:拷貝建構函式把temp拷貝到儲存返回值的外部儲存單元中;

3:temp在函式結束時被銷毀。

但是**1執行時跟**2不同:編譯器直接把臨時變數建立並初始化在外部儲存單元裡,省去了拷貝和

析構的過程,也就少了這部分的時間開銷,提高了效率。所以,返回任何結構或類的物件時,一定要這

樣做!另外,return int(x+y);這樣的語句不要寫成:temp=int(x+y);return temp;

雖然象int,float,double 等資料型別不存在拷貝析構的問題,不會提高多少效率,但寫出來的語句更簡潔,

看來也清楚的多!

C語言return的用法詳解,C語言函式返回值詳解

函式的返回值是指函式被呼叫之後,執行函式體中的 所得到的結果,這個結果通過return語句返回。return 語句的一般形式為 return 表示式 或者 return 表示式 有沒有 都是正確的,為了簡明,一般也不寫 例如 return max return a b return 100 200 ...

C語言的return用法

摘自c語言中文網 我覺得對return講得不錯,終於把return弄明白了。函式的返回值是指函式被呼叫之後,執行函式體中的 所得到的結果,這個結果通過return語句返回。return 語句的一般形式為 return 表示式 或者 return 表示式 有沒有 都是正確的,為了簡明,一般也不寫 例如...

C語言 return的解釋

1 學習背景 今天發現不論是帶返回值還是不帶返回值的函式中都可以寫return 2 解釋 i return 表示把程式流程從被調函式轉向主調函式並把表示式的值帶回主調函式,實現函式值的返回,返回時可附帶乙個返回值,由return後面的引數指定。如 double add double a double...