可能是重复问题:
C++函数中静态变量的生命周期是什么?
假设我们有以下代码:
Some class {
Some() { // the ctor code }
};
Some& globalFunction()
{
static Some gSome;
return gSome;
}
“ctor代码”确切执行的时间是什么时候?对于普通静态变量来说,是在main()函数之前还是在第一次调用“globalFunction()”函数时?
在不同的平台和编译器(如cl、gcc等)上有何不同?
谢谢。
-hb-