Я уверен, что глобально объявленные переменные получат выделение (и инициализируются, если применимо) во время запуска программы.
int globalgarbage;
unsigned int anumber = 42;
Но что относительно статических, определенных внутри функции?
void doSomething()
{
static bool globalish = true;
// ...
}
Когда выделяется пространство для globalish
? Я предполагаю, когда программа начнется. Но он также инициализируется? Или он инициализируется при первом вызове doSomething()
?