首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C++ 函數回傳值作為另一函數參數:直接傳遞與暫存變數兩種寫法

     編輯:程式設計綜合問答

直接傳遞(最常用)

int add(int a, int b) { return a + b; }
void print(int x) { std::cout << x << '\n'; }

int main() {
    print(add(3, 5)); // add 回傳值直接作為 print 參數
    return 0;
}

暫存變數(需複用/除錯)

int main() {
    int sum = add(3, 5);
    print(sum);
    // 可進一步使用 sum
    return 0;
}

注意事項

  • 型別匹配:回傳型別必須隱式轉換為參數型別(如 int→double 可,double→int 會縮窄並警告)。
  • 副作用順序:引數求值順序在 C++17 前未規定,若函數有副作用請用暫存變數固定順序。
  • 右值參考:C++11 可用 void print(int&&) 接收暫時物件避免拷貝(對基本型別無影響)。

總結

C++ 允許將函數呼叫表達式直接作為另一函數引數,編譯器會先計算內層函數回傳值再傳遞。視可讀性與複用需求選擇直接傳遞或暫存變數。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved