Я использую для определения своих констант с enum { my_const = 123; }
, поскольку в классах использование static constexpr
требует некоторого кода вне определения класса (см. этот вопрос). Но как насчет в функциональных органах? В последнее время я замечал людей, у которых были только переменные constexpr
в своих функциях (даже не беспокоило их на const
), и мне было интересно, я ли я дурак, кто позади с моим
int foo(int x)
{
enum : int { bar = 456 };
return x + bar;
}
Итак, мой вопрос: есть ли какая-либо польза для использования перечисления в телах функций, а не в переменных constexpr?