Лекции в магистратуре МФТИ по современному C++ на русском языке. Кафедра микропроцессорных технологий.
Мы начнём с фундаментальной проблемы: проблемы владения. В современном C++ есть пять разумных альтернатив для её решения, и эта лекция посвящена разбору их всех. По дороге мы будем собирать необязательные цветы: поговорим про RVO и NRVO, подружимся с аллокаторами и пошутим благочестивые шутки про летающих свиней (я надеюсь ютуб не удалит меня за такую мелочь).
Лектор: Константин Владимиров.
Дата лекции: 22 февраля 2023 года.
Съёмка и звук: Юлий Тарасов.
Предыдущая лекция: [ Ссылка ]
Следующая лекция: [ Ссылка ]
Слайды ко всем лекциям: [ Ссылка ]
Примеры кода ко всем лекциям: [ Ссылка ]
00:00 Проблема владения и value-семантика
06:50 RAII и альтернативы владения
13:15 Уникальное владение
28:07 Обобщённые ресурсы
38:30 Дружим с аллокаторами
46:20 Разделяемые указатели
59:00 CRTP и разделение самого себя
01:08:40 As good, as...
01:14:31 Циклическое владение и слабые указатели
01:22:25 Интрузивные указатели и завершение
Errata
* Неточность в 1:08:00: static_pointer_cast нужен для преобразования вниз по иерархии.
* На 1:21:10 имелся в виду shared_ptr от const string как тривиальная cow строка
![](https://i.ytimg.com/vi/OzqFXMDrrgk/maxresdefault.jpg)