Почему функции std :: allocator не поддерживаются в c ++ 17?

Спецификация c ++ 17 устарелаconstruct а такжеdestroy членыstd::allocator объект. Рабочая группа предоставила обоснование для отказа от других функций-членовВотпод заголовком «Устаревшие избыточные члены std :: allocator».

Однако они не упоминают конкретно, почему эти два члена устарели или какова рекомендация для замены этой функциональности. Я предполагаю, что подразумевается использованиеstd::allocator_traits::construct вместо.

Я немного запутался в том,construct может на самом деле все еще необходимо в некоторых случаях, хотя из-заэтот комментарий оstd::allocator_traits::construct

Поскольку эта функция обеспечивает автоматический возврат к размещению new, функция-член construct () является необязательным требованием Allocator начиная с C ++ 11.

Для пользовательских распределителей (например, для памяти с выравниванием по страницам, используяmemalign), будет отступать к размещениюnew всегда выдает правильное поведение?

Ответы на вопрос(2)

Ваш ответ на вопрос