将 size() 调整为较小的大小是否会丢弃早期 reserve() 所做的保留
Does resize() to a smaller size discard the reservation made by earlier reserve()?
那么如果我先保留(100),添加一些元素,然后resize(0)(或任何其他小于当前大小的数字),矢量会重新分配内存以占用的空间少于100个元素吗?
vector<T>::resize(0)
不应导致重新分配或删除分配的内存,因此在大多数情况下最好vector<T>::clear()
。
有关更多详细信息,请参阅此问题的答案:std::向量向下调整大小
执行vector::resize(0)
或较小的计数而不是当前计数不应释放任何内存。但是,它可能会破坏这些元素。
有关std::vector::resize
的参考,请查看 std::vector::resize
相关文章:
- 有根的二进制搜索树.保留与其父级的链接
- 为多个会话保留XPtr
- 保留对其他类的成员函数的引用
- 指针保留字符串
- 是否有内置方法可以强制转换为不同的基础类型,但保留常量限定符?
- 如何让 GCC/Clang 在保留标识符上出错
- 必须为 C++20 协程帧保留多少内存?
- 如何将一个窗口保留在另一个应用程序窗口的前面
- 使用 char 分隔符解析C++中的字符串,但将可重复的字符保留为每个解析的子字符串 (C++ STL) 中的分隔符
- 局部变量保留函数中的值
- 保留函数指针模板参数
- 变量超出范围后如何保留向量值?
- C++矢量复制构造函数和赋值运算符是否也复制保留空间?
- 当为可变性配置时,boost::heap::d_ary_heap 保留的额外 std::list 的目的是什么?
- 如何使用 swig 修改类构造函数以保留对其中一个构造函数参数的引用?
- 即使在使用 delete[] 后仍保留的元素
- C++ : 使用 std::vector::reserve 减少保留空间
- 将 size() 调整为较小的大小是否会丢弃早期 reserve() 所做的保留
- C++:std::vector::reserve在包含指针时不保留
- 为什么"std::string::reserve()"不保留我指定的确切空间量?