函式返回是,return expression或者 return 語句使程式退出當前函式,返回上一級函式的行為。如果有返回值,函式返回該值。
auto a = fun()
ps: 我不了解函式呼叫和函式返回時,涉及的記憶體、堆疊等資訊。但是想要寫好**,這些是需要了解。(這是我的個人觀點,我以後會學這部分的內容)
# 正常般(c 風格)
# 格式 typename fun(typename para0, ...);
int add(int a, int b);
int sum = add(3, 4);
# 尾置返回型別
# 格式 auto fun(typename para0, ...);
auto add(int a, int b) -> int;
auto fun(int i) -> int(*)[10]; //返回乙個指向10個int的陣列指標
int arr[10]; int *p = arr;
p = fun(i);
# 使用decltype
# 格式 decltype(variable name) fun(typename para0, ...);
//舉個例子
int odd = ;
int even = ;
decltype(odd) *arrptr(int i) // 返回乙個指向陣列的指標。
說明:函式在使用時,是作為右值被使用的。類如
int a = add(3, 4);
但是當返回值是引用型別的時候,函式可以作為左值被使用。類如
int& arr_get_val(std::vector& ivec, std::vector::size_type i);
arr_get_val(ivec, i) = i; //ivec中,第i個元素值賦值為i。
貼一段引用返回左值的測試**
#include#includeint& arr_get_val(std::vector& ivec, std::vector::size_type i);
int main(void)
int& arr_get_val(std::vector& ivec, std::vector::size_type i)
執行:
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-ejwxdnur-1582204782003)(c:\users\xiesh\desktop\截圖1.png)]
最近肺炎可能嚴重了些,希望大家平安度過。
執行:
[外鏈轉存中...(img-ejwxdnur-1582204782003)]
最近肺炎可能嚴重了些,希望大家平安度過。
函式之返回值
返回值 將函式中運算的結果通過 return defadd a,b result a b print result return hello 100 呼叫函式 x,y add 2,6 print x,y return 返回值 1.return後面可以是乙個引數 接受的時候x add 1,2 2.re...
C 函式返回值。
一 params.可變引數,無論有幾個引數,必須出現在引數列表的最後,可以為可變引數直接傳遞乙個對應型別的陣列。class program test msg intarry static void test string msg,params int args 二 ref 引用傳遞 三 out ou...
72 函式之返回值
返回值 將函式中運算的結果return def add a,b result a b print result 僅僅限於列印在終端上,輔助檢視,但是外部無法使用 return result 扔 需變數接 能不能扔2個值 return hello result hello 7 呼叫 x add 3,4...