清空std::vector
时间: 2023-12-14 13:05:55 浏览: 39
清空std::vector有多种方法,以下是其中的几种:
1.使用clear()函数:vec.clear()可以清空vector中的所有元素,但是不会释放vector的内存空间。
2.使用swap()函数:先vec.clear()再vec->swap( (std::vector <temp>)(vec) ),就能实现清空vector和释放原来vector的内存。
3.使用erase()函数:可以使用vector::erase()函数删除vector中的元素,可以使用迭代器循环删除,也可以使用erase()函数删除指定范围内的元素。
4.使用resize()函数:可以使用vector::resize()函数将vector的大小设置为0,这样可以清空vector中的所有元素,但是不会释放vector的内存空间。
相关问题
如何清空std::vector<std::map<std::string,std::array<char,100>>> my_vector;
要清空一个std::vector<std::map<std::string,std::array<char,100>>>类型的变量my_vector,可以使用以下方法:
1. 使用clear()函数:可以通过调用my_vector.clear()函数来清空vector。这将删除vector中的所有元素,使其变为空。
2. 使用赋值操作符:可以将一个空的vector赋值给my_vector,例如my_vector = std::vector<std::map<std::string,std::array<char,100>>>();
3. 使用swap()函数:可以创建一个临时的空vector,并与my_vector交换,从而清空my_vector。代码示例:std::vector<std::map<std::string,std::array<char,100>>>().swap(my_vector);
std::vector清空
可以使用以下方法来清空std::vector:
1. 使用vec.clear():使用clear()函数可以清空vector中的所有元素,并且不会改变vector的容量。
2. 使用vec.swap(std::vector<int>()):使用swap()函数可以将vector与一个空的vector进行交换,从而删除vector中的所有元素,并且释放vector所占用的内存空间。这样做可以最小化vector的容量。
3. 使用vec = std::vector<int>():将一个空的vector赋值给已有的vector,从而实现清空vector的效果。这种方法也会释放之前vector所占用的内存空间。
需要注意的是,使用clear()函数只会清空vector中的元素,但不会改变vector的容量;而使用swap()函数或赋值为空的vector会同时清空元素并释放内存空间。
参考引用:
引用: 先vec.clear()再vec->swap((std::vector<temp>)(vec)),就能实现清空vector和释放原来vector的内存。
引用: 使用clean可以清空vector,但不会改变capacity。使用swap清空容器中的元素。
引用: 使用clear()、swap()或赋值为空的vector可以实现清空std::vector。