Как контролировать размер чанка `std::deque` при выделении нового чанка?

Когда мы вставляем новый элемент в std::deque, он может выделить новый фрагмент для содержания элемента, если все существующие фрагменты заполнены.

Однако как реализация управляет размером фрагмента?

Может ли пользователь контролировать размер фрагмента? или это просто зависит от выбора реализации, например. 4К или 8К?


person xmllmx    schedule 30.06.2014    source источник
comment
Это определено реализацией - нет (портативного) способа управлять им.   -  person Jerry Coffin    schedule 30.06.2014
comment
Придется писать самому...   -  person Fantastic Mr Fox    schedule 30.06.2014
comment
вы можете предоставить собственный распределитель для предварительного распределения.   -  person Bryan Chen    schedule 30.06.2014
comment
Размышляя об этом, я думаю, что это на самом деле не указано, а не определено реализацией. Определенная реализация потребует, чтобы реализация документировала размер, что, я думаю, не так.   -  person Jerry Coffin    schedule 30.06.2014


Ответы (1)


Это выбранное значение реализации, и над ним нет никакого контроля.

Например, Microsoft выбирает значения 16 или меньше для количества элементов в блоке. (Найдите _DEQUESIZ).

person mksteve    schedule 13.10.2017