Обычно, когда я создаю перечисление каждый из них получают увеличивается на единицу, смКак мне перечислить перечисление?
enum
{
A = 0,
B,
C,
D
};
, но после того, как я посмотрел на некоторые исходные коды, я вижу, что люди делают вещи как этот
enum
{
A = 0,
B = 1 << 0,
C = 1 << 1,
D = 1 << 2
};
Я понимаю, что это значит, но что именно это дает мне? Есть ли преимущества? Я вижу только, что это, по моему мнению, выглядит необычным.
Скорее всего, элементы этого перечисления используются как некоторый флаг, который смешивается побитовыми операциями. –
Обратите внимание, что если 'A' также является флагом, вы не должны присваивать ему значение' 0', чтобы впоследствии вы могли проверить его представляющий бит ('0', конечно, не бит). –