2014-06-30 45 views
7

当我们向std::deque中插入一个新元素时,如果现有的块全部满了,它可能会分配一个新的块来包含该元素。如何在分配新块时控制`std :: deque`的块大小?

但是,实现如何控制块大小?

用户可以控制块大小吗?或者它仅取决于实现的选择,例如4K或8K?

+6

它的实现定义 - 没有(便携)的方式来控制它。 –

+0

您将必须自己写... –

+0

您可以提供自定义分配器来执行预分配。 –

回答

0

这是实现的选定值,并且不能控制它。

例如,Microsoft为一个块中的元素数量选择16或更小的值。 (搜索_DEQUESIZ)。