extern int a3;
extern int b3;
int main()
{
std::cout<<a3<<std::endl;
std::cout<<b3<<std::endl;
}
猜猜上面的a3和b3的输出结果,是否正确?结果是有问题的。
...全文
55843打赏收藏
C++难道没有规定,全局变量的初始化顺序?没有自动调整的机制?编译器有BUG?
例子: ********************file1.cpp int a1 = 1191; extern int b2; int b3 = b2 + 1; ********************file2.cpp extern int a1; int a2 = a1 + 1; extern int b1; int b2 = b1 + 1; ********************file3.cpp extern int a2; int a3 = a2 + 1; int b1 = 2212