Я хочу написать макрос, который выплевывает код на основе логического значения его параметра. Так что DEF_CONST(true)
следует развернуть в const
, а DEF_CONST(false)
следует развернуть в ничто.
Очевидно, что следующее не работает, потому что мы не можем использовать другой препроцессор внутри #defines:
#define DEF_CONST(b_const) \
#if (b_const) \
const \
#endif