Я читал недавнюю книгу C ++, и автор использовал enum для объявления локальной постоянной n . Зачем им это делать вместо использования contexpr ? Это идиома, о которой я не знаю?void f(int);
int main() {
int vals[]{ 2,3,5,7,11 };
enum { N = sizeof vals / sizeof vals[0] };
for(int i = 0; i != N; ++i) // A
f(vals);
for(int *p = vals; p != vals + N; ++p) // B
f(*p);
}
< /code>
Это из книги «C ++ Memory Management», выпущенная в этом году. Я попробовал Copilot, и это только скажет мне, что перечислено в C ++. Остальная часть главы не объясняет перечисление.>
Подробнее здесь: https://stackoverflow.com/questions/795 ... stant-in-c