草庐IT

c++ - 一个编译单元中的静态初始化

静态初始化是很好描述的主题,here甚至在这个网站here而且到处都写着如果存在具有相关静态变量的不同编译单元就会出现问题。如果静态变量存在于一个编译单元中,应该没有问题:它们将按照它们在文件中的位置顺序进行初始化。但是我有这段代码:templateclassA{public:int_data;T_obj;A(intdata):_data(data){}};templateclassB{public:conststaticBnullObj;B(intdata):_a(newA(data)){}A*_a;};templateclassC{public:conststaticCnullOb