Почему мы требуем «требует требует»?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему мы требуем «требует требует»?

Сообщение Anonymous »

Одним из аспектов концепции C++20 является то, что существуют определенные ситуации, в которых вам приходится писать require. Например, этот пример из [expr.prim.req]/3:

requires-expression также можно использовать в requires-clause ([temp]) как способ написания специальных ограничений для аргументов шаблона, таких как приведенный ниже:

Код: Выделить всё

template
requires requires (T x) { x + x; }
T add(T a, T b) { return a + b; }
Первый требует вводит requires-clasuse, а второй вводит requires-expression.

Какова техническая причина необходимости второго ключевого слова require? Почему мы не можем просто разрешить писать:

Код: Выделить всё

template
requires (T x) { x + x; }
T add(T a, T b) { return a + b; }
(Примечание: не отвечайте, что этого требует грамматика)

Подробнее здесь: https://stackoverflow.com/questions/542 ... s-requires
Ответить

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

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

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

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

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