我可以在 C++ 中初始化全局变量并定义如下代码吗?如果不是,你能解释一下详细的原因吗?
我负责很多旧代码,有很多这样写的代码片段。我应该如何安全地重建它们?
// initialize the global variable with the result from a function call
const double g_dbScale = CHelper::GetSystemDPI();
#define DEFAULT_WIDTH (500 * g_dbScale)
#define DEFAULT_HEIGHT (200 * g_dbScale)
我认为这取决于您的功能CHelper::GetSystemDPI();
如果此功能未引用任何其他全局变量或其他一些问题,则应该没问题。
C++ 不保证不同编译单元的全局变量的初始化顺序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句