我想在C++中定义一个常量,使其在多个源文件中可见。 我可以想象以下方法在头文件中定义它:
#define GLOBAL_CONST_VAR 0xFF
int GLOBAL_CONST_VAR = 0xFF;
- 返回值为该值的某些函数(例如
int get_GLOBAL_CONST_VAR()
) enum { GLOBAL_CONST_VAR = 0xFF; }
const int GLOBAL_CONST_VAR = 0xFF;
extern const int GLOBAL_CONST_VAR;
并在一个源文件中const int GLOBAL_CONST_VAR = 0xFF;
选项(1) - 绝对不是您想使用的选项
选项(2) - 使用头文件在每个对象文件中定义变量的实例
选项(3) - 在大多数情况下我认为太过复杂
选项(4) - 在许多情况下可能不好,因为枚举没有具体类型(C ++ 0X将添加定义类型的可能性)
因此,在大多数情况下,我需要在(5)和(6)之间进行选择。
我的问题:
- 您更喜欢(5)还是(6)?
- 为什么(5)可以,而(2)不行?