<分区>
在 C++ 中,您可以仅使用 push_back 方法将元素添加到 vector 中。此方法修改 vector 的大小。 那么使用 std::vector::reserve 的目标是什么?我应该什么时候使用它?
<分区>
在 C++ 中,您可以仅使用 push_back 方法将元素添加到 vector 中。此方法修改 vector 的大小。 那么使用 std::vector::reserve 的目标是什么?我应该什么时候使用它?
最佳答案
当您知道至少有 n 个元素进入 vector 时,您可以使用保留。调整容器大小是一项代价高昂的操作——您分配新内存,将旧内容复制到其中,然后删除旧 vector 。如果您知道默认情况下您将获得至少 10000 个元素,最好为 vector 保留大小,而不是让 vector 重新分配内存的次数超过必要次数。
简单来说,就是效率。
关于c++ - 为什么使用 std::vector::reserve 有用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23781550/