LINUX.ORG.RU

История изменений

Исправление mittorn, (текущая версия) :

С появлением const и inline в C99 нет причин использовать дифайн для чисел.

Почему же

#if (NUM > 10)

Да и для размеров массивов тут const не сильно поможет - он всё ещё символ, который пусть и константный, но не обязательно значение известно на стадии компиляции.
Про c++ после появления constexpr частично соглашусь - он действительно покрывает большинство применений препроцессорных констант, однако даже там применение if constexr ограничено и появился он только в c++17, до этого разве что нечитаемая каша из SFINAE, если код необходимо действительно отключить т.к он становится невалидным

Исходная версия mittorn, :

С появлением const и inline в C99 нет причин использовать дифайн для чисел.

Почему же

#if (NUM > 10)

Да и для размеров массивов тут const не сильно поможет - он всё ещё символ, который пусть и константный, но не обязательно значение известно на стадии компиляции.
Про c++ после появления constexpr частично соглашусь - он действительно покрывает большинство применений препроцессорных констант, однако даже там применение if constexr ограничено и появился он только в c++17, до этого разве что нечитаемая каша из SFINAE,