Я возвращаюсь к некоторой разработке C после работы на С++ некоторое время. Я понял, что макросов следует избегать, когда это не нужно, чтобы заставить компилятор работать над вами во время компиляции. Итак, для постоянных значений, в С++ я бы использовал статические константные переменные или классы перечислимого класса С++ 11 для приятного обзора. В C статические константы не являются константами времени компиляции, а перечисления могут (? Или не могут?) Вести себя несколько иначе.
Итак, разумно ли предпочесть использовать перечисления для констант, а не #defines?
Для справки: отличный список плюсов и минусов перечислений, #defines и static consts в С++.