#19 C++ Жемчужины STD - C++20 Концепты

0:00 Введение -Посвящено концептам стандарта C++20 — новой функции языка Core -Хотя Жкмчужины STD обычно про стандартную библиотеку, концепты сильно повлияют на работу с шаблонами 0:30 Проблема шаблонов -Проблема с сортировкой списка и вектора пользовательского типа -Запутанные сообщения об ошибках компилятора -Шаблоны принимают любые типы, но при несоответствии ограничений сложно понять, в чём проблема 2:00 Что такое концепты -Суть: описание требований к шаблонным типам данных -Возможность проверки требований в точке ввода параметров -Получение понятных сообщений об ошибках вместо длинных шаблонных ошибок 4:00 Практический пример -Работа с уникальными указателями и векторами -Использование ключевого слова requires для определения требований -Создание собственных концепций на основе стандартных 6:00 Сравнение компиляторов -Анализ диагностики ошибок в MSVC, GCC и Clang -Различия в качестве сообщений об ошибках -Неполная поддержке концепцтов в MSVC 08:00 Возможности концептов -Перегрузка шаблонов на основе требований -Ограничение переменных с помощью концептов -Создание собственных концептов с нуля 10:00 Заключение -Рекомендации по использованию концептов: -Можно получать пользу даже без написания собственного кода -Использовать существующие концепции из библиотеки -Не использовать концепции в продакшн-коде из-за нестабильности -Призыв экспериментировать с концепциями в учебных целях

Иконка канала C++ для всех
4 подписчика
12+
1 просмотр
4 часа назад
12+
1 просмотр
4 часа назад

0:00 Введение -Посвящено концептам стандарта C++20 — новой функции языка Core -Хотя Жкмчужины STD обычно про стандартную библиотеку, концепты сильно повлияют на работу с шаблонами 0:30 Проблема шаблонов -Проблема с сортировкой списка и вектора пользовательского типа -Запутанные сообщения об ошибках компилятора -Шаблоны принимают любые типы, но при несоответствии ограничений сложно понять, в чём проблема 2:00 Что такое концепты -Суть: описание требований к шаблонным типам данных -Возможность проверки требований в точке ввода параметров -Получение понятных сообщений об ошибках вместо длинных шаблонных ошибок 4:00 Практический пример -Работа с уникальными указателями и векторами -Использование ключевого слова requires для определения требований -Создание собственных концепций на основе стандартных 6:00 Сравнение компиляторов -Анализ диагностики ошибок в MSVC, GCC и Clang -Различия в качестве сообщений об ошибках -Неполная поддержке концепцтов в MSVC 08:00 Возможности концептов -Перегрузка шаблонов на основе требований -Ограничение переменных с помощью концептов -Создание собственных концептов с нуля 10:00 Заключение -Рекомендации по использованию концептов: -Можно получать пользу даже без написания собственного кода -Использовать существующие концепции из библиотеки -Не использовать концепции в продакшн-коде из-за нестабильности -Призыв экспериментировать с концепциями в учебных целях

, чтобы оставлять комментарии