假设我有一个类 Foo
, 和一个容器 vector<Foo> Foos
.
我使用的算法在很大程度上依赖于指向 Foos
元素的指针。 ,我还需要添加 Foo
s 动态访问容器的元素。问题是如果我向 vector 添加太多元素,它可能需要重新分配元素,从而使指向这些元素的所有指针无效。那么使用类似 map<int, Foo>
的东西有意义吗?而不是 vector<Foo>
?
最佳答案
std::deque
具有与 vector 相似的性能(和随机访问),但不会在插入时使指针无效。
不过,它确实会在删除时使指针无效。
关于c++ - 使用 map<int, Foo> 而不是 vector<Foo> 来避免指针失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57245583/