cpprussia C++ Russia 2019 (19.04.2019)

Modern C++ allocators

img

Цель доклада — познакомить людей с аллокаторами в целом, рассказать про современные тенденции, рассказать, какие виды аллокаторов в каких случаях использовать, объяснить, как работает модель пропагации аллокаторов для вложенных контейнеров, рассказать, что может ждать разработчиков библиотек при поддержке аллокаторов.

Доклад направлен на то, чтобы рассказать про аллокаторы, как про базовые понятия, так и про продвинутые вещи. Мы посмотрим на историю аллокаторов, разберем ошибки в их дизайне, посмотрим на современные аллокаторы, предоставляемые стандартной библиотекой, увидим, какие проблемы они решают. Более подробно остановимся на polymorphic_allocator и memory_resource, так как это нововведения в C++17, которые продолжают развиваться в C++20. Также поговорим про поддержку C++ аллокаторов с точки зрения разработчиков библиотек, что поможет правильно писать код.

Цель доклада — познакомить людей с аллокаторами в целом, рассказать про современные тенденции, рассказать, какие виды аллокаторов в каких случаях использовать, объяснить, как работает модель пропагации аллокаторов для вложенных контейнеров, рассказать, что может ждать разработчиков библиотек при поддержке аллокаторов.