如果我知道元素的数量,如何在std :: vector的开头插入一个新元素而没有任何副本,并且没有默认的构造开销?]

问题描述 投票:-2回答:1
我需要从头填充一些预分配的未初始化的内存区域。我想使用std :: vector,但是我不想在vector的开头插入每个新元素,迫使它进行不必要的复制和其他开销。有什么方法可以通过std :: vector实现这一目标?

我需要从头填充一些预分配的未初始化的内存区域。我想使用std :: vector,但是我不想在vector的开头插入每个新元素,迫使它变得不必要......>

c++ vector stl std
1个回答
0
投票
std::vector的开头插入元素总是意味着复制加上分配开销。这是设计使然,因为std::vector在其末尾具有未初始化的内存。只要您要坚持[C0​​],知道元素的数量就这方面是无关紧要的。

考虑使用std::vector

© www.soinside.com 2019 - 2024. All rights reserved.