2

假设我们有一个 C++ 类

class X {
    int i;
public:
    X(int y): i(y) {}
};

X r(10);

int main() {
    return 0;
}

所以我们有一个全局对象 r。我的问题是,在编译时或运行时调用全局或静态对象的构造函数时?因为程序的执行从main函数开始。直到那时所有的全局对象都应该被初始化。

4

1 回答 1

5

当然不是在编译时。它在运行时调用,在main进入之前。然后初始化所有全局变量和静态变量(不包括方法范围的静态变量)。

于 2012-06-03T20:47:34.827 回答