各位大佬,全局变量初始化顺序问题,求解脱!

两个文件a,b,文件内部分别定义两个全局变量,编译的时候如何保证两个全局变量初始化顺序

#笔试题目#
全部评论
我查了查提出一种解决,大家讨论一下,不确定对哈。 两个文件a,b定义两个类A,B,把全局变量x,y的初始化放到类A,B中,其中类B的构造函数依赖于类A全局变量,保证B的初始化在A之后,即保证y在x之后初始化。 //1.h #pragma once #include<iostream> using namespace std; int x; class A { public: A() { x = 5; cout << "全局变量x初始化" << endl; } }; A a; //2.h #pragma once #include<iostream> #include"1.h" using namespace std; extern A a; extern int x; int y; class B { public: B() { cout << "B()" << endl; } B(A) { y = x; cout << "全局变量y初始化" << endl; } }; B b(a); //main.h int main(){     return 0; }
点赞 回复 分享
发布于 2019-08-17 10:43
内存屏障
点赞 回复 分享
发布于 2019-08-16 21:38

相关推荐

11-06 16:50
门头沟学院 Java
用微笑面对困难:word打字比赛二等奖的我,也要来凑合凑合
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务