C++标准模板库vector的常用操作和存储方式

1 下载量 81 浏览量 更新于2024-08-30 收藏 61KB PDF 举报
C++标准模板库vector的常用操作 C++标准模板库vector是一种容器,底层是数组,为连续内存,命名空间为std,所属头文件为<vector>。vector存储数据时,会分配一个存储空间,如果继续存储,该分配的空间已满,就会分配一块更大的内存,把原来的数据复制过来,继续存储,这些性能也会一定程度上会有损耗。 一、vector的基本操作 1. 容量操作: - vector大小:vector.size(),返回vector的元素个数。 - vector所占内存实际大小:vector.capacity(),返回vector的容量。 2. 修改操作: - 尾部添加元素:vector.push_back(),将元素添加到vector的尾部。 - 尾部删除元素:vector.pop_back(),删除vector的最后一个元素。 - 交换两个vector元素:vector.swap(),交换两个vector的元素。 - 清空vector元素:vector.clear(),清空vector中的所有元素。 - 删除指定元素:vector.erase(it),删除vector中的指定元素。 3. 迭代器操作: - vector开始指针:vector.begin(),返回vector的开始指针。 - vector尾部指针:vector.end(),返回vector的尾部指针,注意最后一个元素的下一个位置,类似于NULL,不是容器的最后一个元素。 4. 访问元素: - 下标访问:vector[1],访问vector中的第一个元素,不检查是否越界。 - at方法访问:vector.at(1),访问vector中的第一个元素,自动检查是否越界,如越界会抛出异常。 - 访问第一个元素:vector.front(),访问vector中的第一个元素。 - 访问最后一个元素:vector.back(),访问vector中的最后一个元素。 二、vector的存储方式 1. 简单存储: - 方法1:vector<int>v1(10);,预先分配10个元素的空间,然后使用v1[i] = i;来存储元素。 - 方法2:vector<int>v2;,使用v2.push_back(i)来存储元素。 2. 存储结构体和结构体指针: - 存储结构体:使用vector<Student>vStu1;来存储结构体Student,然后使用vStu1.push_back(stu)来存储元素。 - 存储结构体指针:使用vector<Student*>vStu2;来存储结构体指针,然后使用vStu2.push_back(pStu)来存储元素。 C++标准模板库vector提供了多种操作和存储方式,例如容量操作、修改操作、迭代器操作、访问元素等,满足不同的应用需求。