清空vector用clear(),释放内存可用swap或shrink_to_fit。1. clear()仅清空元素;2. swap技巧可释放内存;3. shrink_to_fit请求回收内存;4. 赋值空vector简洁且释放内存。
清空一个 C++ vector 的最正确和常用方式是使用 clear() 函数。这个方法会移除 vector 中的所有元素,使其大小(size)变为 0,但不会释放其内部缓冲区的内存(即 capacity 可能不变)。
vec.clear(); // 删除所有元素,size 变为 0
示例:
std::vector
vec.clear(); // 现在 vec.size() == 0
std::vector
std::vector
vec.swap(temp);
及以后:使用 shrink\_to\_fit()
vec.clear();
vec.shrink_to_fit(); // 请求释放未使用的内存
注意:shrink_to_fit() 是一个非强制请求,编译器可以选择忽略,但在主流实现中通常有效。
vec = std::vector