vector::clear
是 C++ 标准库中 std::vector
类的一个成员函数,用于移除向量(vector)中的所有元素。当调用 clear()
函数后,向量中的元素数量变为 0,但向量分配的内存空间不会被释放。换句话说,clear()
只是清除了向量中的元素,而没有改变向量的容量(capacity)。
下面是一个使用 vector::clear
的简单示例:
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
std::cout << "Before clear: ";
for (int num : numbers) {
std::cout << num << " ";
}
std::cout << "
";
// 清除向量中的所有元素
numbers.clear();
std::cout << "After clear: ";
for (int num : numbers) {
std::cout << num << " ";
}
std::cout << "
";
// 检查向量的大小和容量
std::cout << "Size: " << numbers.size() << "
";
std::cout << "Capacity: " << numbers.capacity() << "
";
return 0;
}
输出结果:
Before clear: 1 2 3 4 5
After clear:
Size: 0
Capacity: 5
如你所见,在调用 clear()
函数后,向量中的元素被清除了,但向量的容量保持不变。如果你想释放向量占用的内存空间,可以使用 vector::shrink_to_fit()
函数,这将使向量的容量变为当前元素数量的大小。
领取专属 10元无门槛券
手把手带您无忧上云