定义全局常量变量是否安全?

奥天行者

我可以在 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)
唐Tang

我认为这取决于您的功能CHelper::GetSystemDPI();如果此功能未引用任何其他全局变量或其他一些问题,则应该没问题。

C++ 不保证不同编译单元的全局变量的初始化顺序。

可能我初始化一个全局变量的函数调用结果相关

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章