会录 2014年01月21日
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;



********************main.cpp

extern int a3;
extern int b3;
int main()
{
std::cout<<a3<<std::endl;
std::cout<<b3<<std::endl;
}






猜猜上面的a3和b3的输出结果,是否正确?结果是有问题的。




...全文
502 点赞 收藏 43
写回复
43 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告