Большинство примеров, которые я нашел в Интернете, предпочитали «западный стиль» для constexpr
(C ++ 11), consteval
и constinit
(C ++ 20):
consteval auto sqr(int n) {
return n*n;
}
constexpr auto r = sqr(100); // OK
constinit static auto x = r;
Поскольку я не адвокат по языку, у меня есть следующий вопрос: разрешен ли "восточный стиль" для этих спецификаторов?Пример:
auto consteval sqr(int n) {
return n*n;
}
auto constexpr r = sqr(100); // OK
static auto constinit x = r;
Для ясности: я не собираюсь начинать языковую войну "запад" / "восток".Меня не интересуют мнения, просто факты, тем более что версии clang и gcc head на wandbox в данный момент дают ошибки, но не отвечают на constinit
/ consteval
.