由于全局变量是在进入main函数之前就会初始化的,于是笔者期望的代码执行顺序是 但是代码实际执行顺序[Windows下使用msys2-mingw64-gcc-12.2构建] 问题现象总结,代码执行过程中,进入到MessageCenter::Instance()函数里面后,执行return m_msgCenter;这一行代码的时候竟然没有调用m_msgCenter的构造函数MessageCenter::MessageCen...
编译器在编译源文件的时候会记录那些处于全局范围的全局变量、全局静态变量以及类静态变量。按照编译的顺序形成一个表,然后运行时在main()函数开始之前就初始化,所以有时候我们看到有些程序打开的时候半晌才弹出一个窗口,比如说360,它在初始化之前做了很多的安全检测。 这里就讲得更细了。比如我有一个Factory<CEntity...