返回

返回从函数到其调用者的控制。

如果 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);
    }
}