2017-02-23 130 views
-2

我可以初始化全局变量并在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) 
+0

是的,你可以做到这一点。但是,为什么不为DEFAULT_WIDTH和DEFAULT_HEIGHT使用'const double'变量呢? –

+0

@ M.M这些是别人的旧代码,我讨厌这样的代码。但有很多这样的用法。 –

+0

技巧问题 - 你不能初始化一个定义。 – immibis

回答