我有一个std::vector
相对较小的尺寸(从 5 到 20 个元素)。我使用std::vector
是因为数据是连续的,所以我有速度因为缓存。在特定点上,我需要从中删除一个元素vector
。
我现在有一个疑问:在下面的两个选项之间删除这个值的最快方法是什么?
- 将该元素设置为 0 并调用
sort
重新排序:这具有复杂性,但元素位于同一缓存行上。 - 调用
erase
它将复制(或 memcpy 谁知道??)它之后的所有元素(我需要调查擦除的幕后)。
你知道哪个更快吗?
我认为可以考虑使用相同的方法来插入新元素而不会达到向量的最大容量。
问候
AFG