C++ Статические переменные хранилища
Я знаю, что локальная статическая переменная будет хранить значение в разных вызовах функций. Однако что произойдет, если эта локальная статическая переменная инициализируется внутри функции? Например
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 больше не инициализируется?