Когда инициализируются статические и глобальные переменные?
ВC++
я знаюstatic
а такжеglobal
объекты строятся доmain
функция. Но, как вы знаете, вC
нет такогоinitialization procedure
до .main
Например, в моем коде:
int global_int1 = 5;
int global_int2;
static int static_int1 = 4;
static int static_int2;
Когда эти четыре переменныеинициализируется?Где значения для инициализации вроде5
а также4
хранятся во время компиляции? Как ими управлять при инициализации?РЕДАКТИРОВАТЬ:
Разъяснение 2-го вопроса.
5
винициализировать global_int1
так как же может компиляторназначать 5
вglobal_int
? Например, может быть, компилятор сначала сохранит5
где-нибудь (то есть в таблице) и получите это значение, когда начнется инициализация.Относительно "Как управлять ими при инициализации?, это действительно расплывчато, и я сам не знаю, как интерпретировать еще. Иногда не просто объяснить вопрос. Не обращайте на это внимания, поскольку я еще не полностью освоил вопрос.