返回
返回从函数到其调用者的控制。
如果 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);
}
}