|
Когда используется #define, то компилятор от препроцессора получает константное выражение, которое он может вычислить (выполнить так называемую свертку констант). В случае использования enum такого может не быть. Чтобы удостовериться как будет на самом деле, нужно просто проверить, что в этом случае получится. Я пробовал работать с масками, определенными через define, пробовал работать с битовыми полями. В первом случае компилятор генерировал более компактный код, именно из-за свертки констант. Поэтому я и высказал такое опасение.
E-mail: info@telesys.ru