Что такое Conteval?

По-видимому, consteval будет ключевым словом в С++ 20. Страница cppreference для него в настоящее время пуста. Что это будет и как это связано с constexpr?

Ответы

Ответ 1

Он объявляет непосредственные функции, то есть функции, которые должны быть оценены во время компиляции для создания константы. (Раньше это было записано как constexpr! В предыдущей редакции статьи.) Напротив, функции constexpr могут быть оценены во время компиляции или во время выполнения, и не должны создавать константу во всех случаях.

Принятым документом является P1073R3, который еще не является общедоступным, но предыдущая версия доступна, и вводная часть (описание мотивации и высокоуровневого описания) примерно такая же (за исключением того, что раздел "Исходные местоположения" удален в R3).