静态变量(static)
函数中定义的局部变量在函数作用域结束时消失。如果想使局部变量的值在程序的整个生命周期里仍然存在,可以将函数的局部变量定义为static。static变量的初始化只在函数第一次调用时执行,函数调用之间变量的值保持不变。
与全局变量不同的是,static变量的优点是在函数范围之外,它是不可用的。下面的代码中,i的作用域只在Func函数内,但是生命周期是整个应用程序内。
void Func() { static int i = 0; cout<<"i = "<<i++<<endl; }
如果将static应用于函数或者函数之外的变量时,那么意义是在文件外部不可以使用这个名字,即使在外部文件通过extern来声明函数或者变量,也是无法使用的

浙公网安备 33010602011771号