我想知道什么时候静态变量初始化为默认值.是否正确加载类时,会创建(分配)静态变量,然后执行声明中的静态初始化和初始化?在什么时候给出默认值?这导致了前向参考的问题.
另外请您解释一下这个问题,为什么静态字段没有及时初始化?特别是Kevin Brock在同一网站上给出的答案.我无法理解第三点.
在C++我知道static和global对象之前构造main函数.但是如你所知,之前C没有这种类型.initialization proceduremain
例如,在我的代码中:
int global_int1 = 5;
int global_int2;
static int static_int1 = 4;
static int static_int2;
Run Code Online (Sandbox Code Playgroud)
5和4存储的位置?初始化时如何管理它们?编辑:
澄清第二个问题.
5来初始化 global_int1,这样怎么能编译器分配 5到global_int?例如,编译器可能首先将5值存储在某处(即表),并在初始化开始时获取此值.