Стандарт C++17
включает новое пространство имен pmr
, включающее набор классов, сгруппированных под именем memory_resource
.
После поиска в Интернете я нашел очень мало вульгарной информации о нем, прямое следствие этого вопроса:
Какие основные идеи лежат в основе pmr
и особенно pmr::memory_resource
?
Детализируя немного больше вопрос, некоторые из вопросительных знаков в моей голове:
- Что он приносит нового или какие ограничения решает?
- В чем разница с
allocator
? - Означает ли полиморфность, что можно выбрать время выполнения
allocator
, предоставленное конструктору контейнера? (например, для целей тестирования) - Помогает ли это реализовать пул памяти или другие схемы управления памятью?
Контекст:
В целях создания распределителя memory pool
я нашел информацию об этом пространстве имен. Чтение таких имен, как pool_options
или polymorphic_allocator
, привлекло мое внимание.
Связанные вопросы:
memory_resource
— это то, что вы получаете для достижения полиморфной функциональности выделения, предоставляемой через тип распределителяpolymorphic_allocator
. - person Nicol Bolas   schedule 28.06.2017pool_options
,synchronized_pool_resource
,unsynchronized_pool_resource
monotonic_buffer_resource
,memory_resource class
.. и толькоpolymorphic_allocator
наполовину дан ответ. С другой стороны, вы закрылись из-за повторяющегося вопроса, а не повторяющегося ответа (помните, что люди не знают ответа и выполняют поиск по вопросу) - person Adrian Maire   schedule 28.06.2017