从函数中更改main中的变量

时间:2014-08-25 22:54:31

标签: c++ scope global-variables

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

例如:

void f() {
    x = 5;
}

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

}

任何解决方案?

1 个答案:

答案 0 :(得分:5)

使用传递给函数的引用

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

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

或全局变量(不鼓励!)

int x = 0;

void f() {
    x = 5;
}

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