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 больше не инициализируется?

0 ответов

Другие вопросы по тегам