📅  最后修改于: 2023-12-03 15:13:57.778000             🧑  作者: Mango
在C++中,vector是一种动态数组,使用方便,但是由于vector是在堆上分配内存的,所以在需要释放内存时需要使用clear()这个函数。
void clear();
clear()函数会销毁容器中的所有元素,并将vector的size设置为0。但是,它不会改变vector的容量,也不会释放vector持有的内存。如果需要释放内存,可以使用另一个类似的函数:vector<T>().swap(v)
,其中v是需要释放内存的vector。
下面的代码演示了如何使用clear()函数:
#include <iostream>
#include <vector>
using namespace std;
int main () {
vector<int> v;
for (int i=1; i<=10; ++i) v.push_back(i);
cout << "vector中的元素有:" << endl;
for (int i=0; i<v.size(); ++i) cout << v[i] << " ";
cout << endl;
v.clear();
cout << "clear()函数之后,vector中的元素数为:" << v.size() << endl;
return 0;
}
输出:
vector中的元素有:
1 2 3 4 5 6 7 8 9 10
clear()函数之后,vector中的元素数为:0
使用vector时,需要注意内存管理问题。当容器内存不再需要时,应该使用clear()函数释放元素,使用swap()函数释放容器内存。