返回
返回從函式到其呼叫者的控制。
如果 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);
}
}