首頁 >後端開發 >C++ >C++ 函數傳回值的內幕:型別、意義一覽

C++ 函數傳回值的內幕:型別、意義一覽

PHPz
PHPz原創
2024-05-01 16:09:02838瀏覽

函數傳回值是函數執行後的結果,型別可以是基本型別、自訂型別或 void。傳回類型在函數聲明中指定,void 表示不傳回值。傳回值含義由函數實作決定,例如,可以表示結果、函數狀態或資料指標。在實戰案例中,triangleArea 函數傳回三角形面積或在非法輸入時拋出異常,main 函數處理傳回值並顯示結果或錯誤訊息。

C++ 函数返回值的内幕:类型、含义一览

C 函數傳回值的內幕:類型、意義一覽

在C 程式設計中,函數傳回值是函數執行後的結果。它可以是基本資料型別(如 int、float)、自訂資料型別(如 struct、class)或 void。

傳回型別

函數的傳回值型別定義了函數所傳回的值的型別。在函數宣告中指定傳回值型別:

int myFunction();

以上程式碼宣告了一個名為myFunction 的函數,其傳回值型別為int,這表示該函數會傳回一個int 值。

特殊傳回值類型:void

void 是一個特殊的回傳值類型,表示函數不會傳回任何值。使用 void 作為傳回值類型時,函數宣告應如下所示:

void myFunction();

傳回值的意義

函數傳回值的意義取決於函數本身的實作。它可能表示操作的結果、函數的狀態或指向資料的指標。

例如,以下函數傳回兩個數字的和:

int add(int a, int b) {
    return a + b;
}

而以下函數傳回一個表示函數成功(true)或失敗(false)的布林值:

bool isSuccessful() {
    // ... 函数体 ...
    return true;
}

實戰案例

計算三角形面積:

#include <iostream>
#include <cmath>

using namespace std;

double triangleArea(double base, double height) {
    if (base <= 0 || height <= 0) {
        throw invalid_argument("Base and height must be positive");
    }
    return 0.5 * base * height;
}

int main() {
    double base, height;

    cout << "Enter the base of the triangle: ";
    cin >> base;

    cout << "Enter the height of the triangle: ";
    cin >> height;

    try {
        double area = triangleArea(base, height);
        cout << "The area of the triangle is: " << area << endl;
    }
    catch (invalid_argument& e) {
        cout << e.what() << endl;
    }

    return 0;
}

#此範例的傳回值意義:

  • # #triangleArea 函數傳回三角形的面積,如果傳遞的任何參數(底、高)為非正數,則拋出invalid_argument 例外。
  • main 函數中,如果計算成功,triangleArea 的回傳值被儲存在 area 變數中並列印出來。
  • 如果計算失敗(由於非法輸入),
  • main 函數會捕捉 invalid_argument 異常並顯示錯誤訊息。

以上是C++ 函數傳回值的內幕:型別、意義一覽的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn