Closed apolukhin closed 3 years ago
Игорь Шаповал, 6 июля 2018, 9:30 Я думаю не нужно добавлять новое ключевое слово или изменять. На много лучше будет добавить атрибут, который будет используется вместе с constexpr. Например, [[static_only]] или [[constexpr_only]]. Он будет указывать, что вычисление будет выполняться только во время компиляции. Зоопарк в виде constexpr, constexpr! или staticexpr мне кажется через чур.
[[static_only]]
constexpr int sum(int a, int b) {
return a + b;
}
neondev9, 6 июля 2018, 12:27 согласен с вашими словами. Но в идеале это всё нужно было определить сразу, в 11-ом стандарте когда только вводили constexpr и тогда сразу чётко определить ключевые слова для обоих случаев.
Саша Зайцев, 6 июля 2018, 15:46 Игорь Шаповал, кстати мне тоже идея с атрибутом нравится.
yndx-antoshkka, 12 июля 2018, 12:57 Пока подлил масла в огонь, и передал ваши коментарии (из этой темы и из https://stdcpp.ru/proposals/37161dcc-eeaf-4d8d-8556-b3f7a4e64954) в приватные обсуждения ISO.
Многим новое слово constexpr! не нравится. Пока люди перебирают варианты для замены.
neondev9, 24 июля 2018, 16:20 есть какие-то новости?
WPMGPRoSToTeMa, 27 июля 2018, 1:50
содержит в себе восклицательный знак, что абсолютно противоречит стилю именования ключевых слов в С++.
Ну, кстати, нечто подобное уже есть - sizeof...
В C++20 приняли consteval
Перенос предложения: голоса +11, -2 Автор идеи: neondev9
В C++20 планируют вести так называемые constexpr!-выражения. Это как-бы тот же constexpr, но вот только работающий только compile-time.
Предлагаю выбрать какое-либо альтернативное ключевое слово для подобных выражений, будь-то staticexpr или что-либо более точное. Но слово constexpr! однозначно не стоит вводить, поскольку оно:
сбивает с толку;
максимально идентично другому ключевому слову;
содержит в себе восклицательный знак, что абсолютно противоречит стилю именования ключевых слов в С++.
Стоит заметить, что новое ключевое слово должно содержать -expr суффикс, и таким образом у нас будет семейство: constexpr, reflexpr, staticexpr (как вариант, но нужно что-то получше)