这会改变枚举中值的存储或递增方式吗?如果它们相同,为什么人们将其定义为0x000?
问问题
9749 次
3 回答
7
没有区别,它只是一个可读性的东西。例如,它表明枚举值用于某种二进制上下文中,例如位标志。
enum Flags {
FLAG_NONE = 0x0000,
FLAG_READ = 0x0001,
FLAG_WRITE = 0x0002,
FLAG_APPEND = 0x0004,
FLAG_TEXT = 0x0008,
FLAG_MEMMAP = 0x0010
};
于 2012-10-22T19:03:11.670 回答
2
没有。
0x0000 (添加任意数量的 0)只是十六进制的 0。
有时枚举中的所有数字都是十六进制的。由于所有的十六进制数你只需要定义第一个十六进制数,因为它看起来更干净。
于 2012-10-22T19:04:20.763 回答
0
这些特定值没有区别,它们完全相同。
但对于其他值,请记住,前置0
使其成为八进制常数。这意味着您要避免使用000
, 001
, 002
, 010
,等值044
(以保持常量的长度相等)。
于 2012-10-22T19:28:14.340 回答