如果我在命名空间中有#define语句:
namespace MyNamespace
{
#define SOME_VALUE 0xDEADBABE
}
Run Code Online (Sandbox Code Playgroud)
我是否正确地说#define语句不限于名称空间?
以下是"正确"的事情吗?
namespace MyNamespace
{
const unsigned int SOME_VALUE = 0xDEADBABE;
}
Run Code Online (Sandbox Code Playgroud)
nik*_*nik 21
我完全同意有关使用常量的建议,并且范围对于#defines 是无限制的.
但是,如果你必须使用预处理#define线,请正确地掩盖起来了预期的范围内,
namespace MyNamespace
{
#define SOME_VALUE 0xDEADBABE
// your code
#undef SOME_VALUE
}
Run Code Online (Sandbox Code Playgroud)
为什么#defines?
我知道一个嵌入式平台不支持代码中的常量的情况.
没有办法初始化它们......
总是有助于提高可读性.
| 归档时间: |
|
| 查看次数: |
32023 次 |
| 最近记录: |