缩小 std::Vector 的大小:交换技巧
当保留空间没有时减少 std::vector 的容量如果需要更长的时间,可以采用 Scott Meyers 在他的《Effective STL》一书中推荐的“交换技巧”。其工作原理如下:
vector<Person> new_persons(size_of_new_vector);
new_persons.swap(persons);
执行交换后,原始向量,人,将被“缩小以适应”,这意味着它将仅占用所需的内存它当前持有的元素数量。
该技术利用了向量的复制构造函数,它仅为正在复制的元素分配内存,有效减少了原始向量的多余容量。
以上是如何将 std::vector 缩小到其实际大小:交换技巧解释的详细内容。更多信息请关注PHP中文网其他相关文章!