这是否会改变枚举值中存储或增加值的方式?如果它们相同,为什么人们将其定义为0x000?
答案 0 :(得分:6)
没有区别,它只是一个可读性的东西。例如,它表示枚举值用于某种二进制上下文,例如bitflags。
enum Flags {
FLAG_NONE = 0x0000,
FLAG_READ = 0x0001,
FLAG_WRITE = 0x0002,
FLAG_APPEND = 0x0004,
FLAG_TEXT = 0x0008,
FLAG_MEMMAP = 0x0010
};
答案 1 :(得分:2)
没有。
0x0000(根据需要追加0)只有十六进制的0
有时枚举中的所有数字都是十六进制的。由于全部都是十六进制的,你只需用十六进制定义第一个十六进制,因为它看起来更干净。
答案 2 :(得分:0)
这些具体值没有区别,它们完全相同。
但是对于其他值,请记住前置0
使其成为八进制常量。这意味着您要避免使用000
,001
,002
,010
,044
等值(以保持其长度)常数相等)。