c++修改static变量的值
时间: 2024-09-19 13:15:34 浏览: 56
c++基础总结
在 C++ 中,`static` 变量是在函数外部声明的,它们的生命周期贯穿整个程序,静态变量只有一份拷贝,存储在数据段的数据区中。如果你想修改 `static` 变量的值,可以直接在函数内部通过该变量名进行操作,因为每次函数调用,静态变量不会重新初始化,其值会被保留。
例如:
```cpp
#include <iostream>
void modifyStatic(int& staticVar) {
static int value = 0; // 定义静态变量
staticVar = ++value; // 修改并返回新值
}
int main() {
int myStatic;
modifyStatic(myStatic); // 首次调用会初始化为 0
std::cout << "First call: " << myStatic << std::endl;
modifyStatic(myStatic); // 再次调用时会加 1
std::cout << "Second call: " << myStatic << std::endl;
return 0;
}
```
在这个例子中,`modifyStatic` 函数可以改变 `myStatic` 的值,每次调用都会增加 `value` 的值,并反映到 `myStatic` 上。
阅读全文