从函数中更改main中的变量

CSG*_*ian -3 c++ scope global-variables

我正在寻找类似于python global关键字的功能.我想从函数中更改main中声明的变量.

例如:

void f() {
    x = 5;
}

int main() {
    int x = 0;
    f();
    cout << x; // prints 5

}
Run Code Online (Sandbox Code Playgroud)

有解决方案吗

πάν*_*ῥεῖ 5

使用传递给函数的引用

void f(int& x) {
    x = 5;
}

int main() {
    int x = 0;
    f(x);
    cout << x; // prints 5
}
Run Code Online (Sandbox Code Playgroud)

或全局变量(不鼓励!)

int x = 0;

void f() {
    x = 5;
}

int main() {
    x = 0;
    f();
    cout << x; // prints 5
}
Run Code Online (Sandbox Code Playgroud)