我知道局部静态变量会将值保留在函数的不同调用中。 但是,如果在函数内部初始化此局部静态变量,会发生什么情况? 例如
int func() {
static int var = 0;
++var;
return var;
}
int main()
{
cout<<"\ni = "<<func();
cout<<"\ni = "<<func();
cout<<"\ni = "<<func();
return 0;
}
我会说1、2、3作为结果。 但是语句“ static int var = 0”不再执行了吗? 变量var不再初始化了吗?