怎么叫做静态初始化!
学习静态构造器时有一句静态初始化,谁能解释一下。
所有的全局变量,静态变量都会拥有静态初始化。
静态初始化是相对于运行时来说,指的是编译时即可确定值。
在C中,静态初始化只能为常量,或没有初值。
如:
// global, 有初值。
int i = 0;
// global,无初值。
int j;
已经初始化的变量放在.data节中,未初始化的置于.bss节中,如果是常量则放于.rdata节中,
在C++中,因为出现了class,所以静态初始化的概念有所扩展,所有全局变量,静态变量都认为是已经初始化的变量。
// global, value is 0
int i;
放于.data节中,
至于class object,
sometype obj;
编译时其值为0,运行时通过ctor赋值。