Я убираю какой-то старый код, который использует "магические числа" повсюду, чтобы устанавливать аппаратные регистры, и я хотел бы использовать константы вместо этих чисел, чтобы сделать код несколько более выразительным (на самом деле они будут отображаться к именам/значениям, используемым для документирования регистров).
Однако я обеспокоен тем, что с объемом изменений я могу сломать магические числа. Вот упрощенный пример (набор регистров более сложный):
const short mode0 = 0;
const short mode1 = 1;
const short mode2 = 2;
const short state0 = 0;
const short state1 = 4;
const short state2 = 8;
поэтому вместо:
set_register(5);
имеем:
set_register(state1|mode1);
Я ищу версию времени сборки:
ASSERT(5==(state1|mode1));
Обновление
@Christian, спасибо за быстрый ответ, меня интересует ответ на C/non-boost, потому что это код драйвера/ядра.