C++ lectures at MIPT (in Russian). Lecture 18. Concepts

preview_player
Показать описание
Лекции в магистратуре МФТИ по C++ на русском языке.

На этой лекции мы поговорим в основном о концептах, этом потрясающем добавлении в C++20. Будут рассмотрены простые ограничения, объединение ограничений в концепты и новый синтаксис шаблонов функций и классов

Лектор: Константин Владимиров
Дата лекции: 5 мая 2020 года
Звук: Дмитрий Рябцев

Errata:

* тут пока пусто
Рекомендации по теме
Комментарии
Автор

1:31:18, на самом деле, если нас смущает "инвазивность" if constexpr и мы всё ещё хотим 2 функции, мы, кажется, можем добиться нужного поведения, если перегрузим функции по одному из аргументов, например, взяв int и elipsis и передадим туда 42. Более усовершенстованная техника — priority_tag, который позволяет довольно гибко явно управлять приоритетностью тех или иных перегрузок. Кажется, это всё ещё должно работать правильно с концептами, прошу поправить меня, если я не прав. Я (теперь уже) ) заглянул в будущие лекции, вижу там Ranges, так, что возможно даже, что ещё услышу об этом)

oficsu
Автор

На 19м слайде у вас bool стоит до requires.
На 33м слайде в функциях только тип Т, но в параметрах ещё и U.
(настолько хорошо, что пересматриваю)

vanyakhodor
Автор

Хотел спросить, затащили ли в итоговом варианте концептов прувер? Ибо в принятом 20-м стандарте отношение subsumes определяется иначе

elkadaf
Автор

На 43м слайде у вас остался concept bool. 1:09:45.

vanyakhodor