Будут ли функции consteval разрешать параметры шаблона, зависящие от аргументов функции?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Будут ли функции consteval разрешать параметры шаблона, зависящие от аргументов функции?

Сообщение Anonymous »

В C++17 этот код недопустим:

constexpr int foo(int i) {
return std::integral_constant::value;
}


Это потому, что даже если foo может быть вычислено во время компиляции, компилятору все равно необходимо создать инструкции для его выполнения во время выполнения, что делает создание экземпляра шаблона невозможным.

В C++20 у нас будут константные функции, которые необходимо оценивать во время компиляции, поэтому ограничение времени выполнения должно быть удалено. Означает ли это, что этот код будет легальным?

consteval int foo(int i) {
return std::integral_constant::value;
}


Подробнее здесь: https://stackoverflow.com/questions/561 ... on-argumen
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»