【C++】STL详解-----(二)vetor的使用
文章目录
- vector的介绍
- vector的使用:
- 元素访问
- empty
- vector的增删查改
- push_back和pop_back
- insert和erase
- vector迭代器失效问题
- 迭代器失效解决方法
vector的介绍
- vector是可变大小数组的容器
- vector采用连续空间存储的方式,同时也表示可以采用下标访问
- vector的大小可以动态改变
- vector的重新分配大小策略:开辟一个新的数组,将原数组的数据移到新数组,并且释放原数组的空间
- vector分配空间策略:vector会分配一些额外的空间以适应可能的增长因此存储空间比实际需要的存储空间更大
- vector的尾插和尾删的效率较高。但是非尾部元素的插入和删除效率较低
vector的使用:
vecotr的定义方式
方式一:构造一个某类型的空容器
vector v1//构造ing类型的空容器
方式二:构造一个含有n个val的某类型容器
vector v2(10,2)//构造含有10连续为元素2的int类型的容器
方式三:拷贝构造某类型容器
vector v3(v2);
方式四:使用迭代器拷贝构造某一段内容
vectorv4(v2.begin(),v2.end())
注意:该方式也用于拷贝其他容器的某一段内容
string s("hello world"); vector v5(s.begin(), s.end());
元素访问
【】访问
#include #include using namespace std; int main() { vector v(10, 1); //使用“下标+[]”的方式遍历容器 for (size_t i = 0; i
- 迭代器失效解决方法
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。