Например:
int foo()
{
static int i = 0;
return i++;
}
Переменная i будет инициализирована только на 0 при первом вызове foo. Это автоматически означает, что там есть скрытая ветвь, чтобы повторить инициализацию более одного раза? Или есть более умные трюки, чтобы избежать этого?