2

これは、列挙型内で値が保存またはインクリメントされる方法を変更しますか? それらが同じである場合、なぜ人々はそれを 0x000 と定義するのですか?

4

3 に答える 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 を追加してください) は 16 進数では 0 です。
列挙型のすべての数値が 16 進数である場合があります。すべての 16 進数があるので、最初のものも 16 進数で定義するだけです。

于 2012-10-22T19:04:20.763 に答える
0

これらの特定の値に違いはなく、まったく同じです。

ただし、その他の値については、先頭に追加0すると 8 進数の定数になることに注意してください。000これは、001002010、などの値の使用を避けたいことを意味します044(定数の長さを等しく保つために)。

于 2012-10-22T19:28:14.340 に答える