Я просматривал старый исходный проект, пытаясь заставить его скомпилироваться и запустить (это старая игра, которая была загружена на GitHub).Я думаю, что большая часть кода была написана с учетом C-style / C-синтаксиса (много typedef struct {...} и т.п.), и я заметил, что они определяют определенные макросы с помощью следующего стиля:
#define MyMacroOne (1<<0) //This equals 1
#define MyMacroTwo (1<<1) //This equals 2, etc.
Итак, мой вопрос сейчас такой: есть ли причина, по которой макросы будут определены таким образом?Потому что, например, 0x01 и 0x02 являются числовым результатом выше.Или система будет читать не MyMacroOne = 0x01, а скорее как «объект сдвига» со значением (1 << 0)?</p>
РЕДАКТИРОВАТЬ: Спасибо за все ваши вклады!