C++ 编程
外观
使用static修饰符使变量具有静态生命周期,对于全局变量,它们需要内部链接(变量在同一项目中其他文件中代码无法访问)。
- 静态生命周期
- 这意味着静态变量需要在文件范围内初始化,在运行时存在并保持更改,直到程序的进程关闭,静态变量的特定销毁顺序是未定义的。
static
变量实例共享相同的内存位置。这意味着它们在函数调用之间保持其值。例如,在以下代码中,函数内部的静态变量用于跟踪该函数被调用的次数
void foo() {
static int counter = 0;
cout << "foo has been called " << ++counter << " times\n";
}
int main() {
for( int i = 0; i < 10; ++i ) foo();
}