vector类中clear函数的作用
时间: 2023-11-11 10:05:37 浏览: 28
vector类中的clear函数用于清空vector中的所有元素,使其变成一个空的vector。具体而言,clear函数会将vector的size设置为0,但并不会改变vector的capacity。也就是说,调用clear函数后,vector的内存空间并没有被释放,只是元素被清空了,可以继续使用该vector对象存储元素。需要注意的是,clear函数不会对元素进行析构操作,如果vector中存储的是指针,需要手动释放内存。例如:
```
vector<int*> vec;
// 添加元素
vec.push_back(new int(1));
vec.push_back(new int(2));
// 使用clear清空vector
vec.clear();
// 手动释放内存
for(int* p : vec) {
delete p;
}
```
相关问题
vector库中的常用函数
C++中的vector是一个非常常用的容器,它可以动态地增加或减少元素,同时支持随机访问。下面是vector库中的一些常用函数:
1. push_back():在vector的末尾添加一个元素。
2. pop_back():删除vector末尾的元素。
3. size():返回vector中元素的个数。
4. empty():判断vector是否为空。
5. clear():清空vector中的所有元素。
6. front():返回vector中第一个元素的引用。
7. back():返回vector中最后一个元素的引用。
8. insert():在vector的指定位置插入一个元素。
9. erase():删除vector中指定位置的元素。
10. resize():改变vector的大小。
11. reserve():预留vector的空间。
以上是vector库中的一些常用函数,当然还有其他的函数,具体可以查看C++的官方文档。
vector容器中erase和clear
引用中提到,clear()函数用于删除vector容器中的所有元素,使其大小变为0。语法是vectorname.clear()。引用的示例说明了使用clear()函数后,vector中的元素被删除了。例如,当vector为{1, 2, 3, 4, 5}时,使用myvector.clear()后,vector变为空{}。引用展示了erase()函数的实现,它可以用来删除vector容器中的指定范围的元素。在这个示例中,it1和it2是迭代器,指向vector的开始和结束位置,然后使用erase()函数删除it1和it2之间的元素。在这个示例中,删除了第一个和倒数第二个元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [vector erase() and clear() in C++ -- vector的函数erase()和clear()](https://blog.csdn.net/qq_27009517/article/details/86502017)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]