Доклад

Range views: детали реализации, неочевидное поведение и влияние на производительность

  • На русском языке

Обсудим детали реализации некоторых range views в стандартной библиотеке C++. Также поговорим и о том, как избежать распространенных ошибок. Как стандарт ограничивает реализацию функции begin() и почему это может приводить к неожиданным проблемам. Каким образом нарушаются гарантии константности и какие подходы были применены для их восстановления. 

Сравним split_view и lazy_split_view, чтобы показать их различия в поведении и назначении. Уделим внимание анализу работы std::generator и его роли в реализации ленивых вычислений. Поделюсь практическими советами по написанию кода с использованием ranges, чтобы минимизировать риск возникновения нежелательных эффектов.

Спикеры

Приглашенные эксперты

Расписание