1) 全局变量前添加,限制该全局变量仅在当前cpp中使用,当外部cpp通过使用extern调用时仍无效;(即全局变量前一般使用static)
例如:1.cpp
static int value =1;
int main()
{
}
2) 函数中初始化变量,延长变量的生命周期至程序结束,而不仅仅是函数调用结束,也即该变量仅初始化一次(即第二次再调用的时候,直接就跳过初始化的语句了),但是可以赋值多次;
例如:
void func()
{
static int value=1;
value++;
}
func(); //value==2
func(); //value==3
使用static修饰的局部变量相较与static修饰的全局变量,作用域仅限于函数内部,但是生存期与全局变量的等同。