返回

返回從函式到其呼叫者的控制。

如果 return 有一個運算元,運算元將轉換為函式的返回型別,並將轉換後的值返回給呼叫者。

int f() {
    return 42;
}
int x = f(); // x is 42
int g() {
    return 3.14;
}
int y = g(); // y is 3

如果 return 沒有運算元,則該函式必須具有 void 返回型別。作為一種特殊情況,如果表示式的型別為 void,則 void-return 函式也可以返回表示式。

void f(int x) {
    if (x < 0) return;
    std::cout << sqrt(x);
}
int g() { return 42; }
void h() {
    return f(); // calls f, then returns
    return g(); // ill-formed
}

main 返回時,使用返回值隱式呼叫 std::exit,因此該值返回到執行環境。 (但是,從 main 返回會破壞自動區域性變數,而直接呼叫 std::exit 則不會。)

int main(int argc, char** argv) {
    if (argc < 2) {
        std::cout << "Missing argument\n";
        return EXIT_FAILURE; // equivalent to: exit(EXIT_FAILURE);
    }
}