
- 前言
- 一、STL是什么?
- 二、迭代器简介
- 1.迭代器(iterator)是什么
- 2.使用方法
- 3.容器遍历示例
- 总结
前言
STL是C++中比较重要,也是比较常用的库,里面的许多容器和算法可以极大的方便我们的编程,提高效率。
本章节为学习记录,如有纰漏,欢迎指正。
一、STL是什么?
-
STL全称为:(Standart Template Library, 标准模板库)
-
STL广义上分为: 容器(container),算法(algorithm),迭代器(iterator),其中的容器和算法通过迭代器进行无缝链接
-
STL的六大组件:容器,算法,迭代器,仿函数,适配器(配接器),空间配置器
- 初学者可以简单的把迭代器理解为指针;实际上迭代器是更加广义上的指针,是指针的泛化,它的使用相对而言更加安全和方便,并且它允许用相同的方式处理不同的数据结构。
- 注:迭代器可以使用指针的各种 *** 作,包括解引用,自增,自减等。
- 对于支持随机访问的迭代器,都可以使用sort算法来排序
- 实例化的定义
vector<int>::iterator itB = arr.begin(); //指向容器头部的迭代器
vector<int>::iterator itE = arr.end(); //指向容器尾部的迭代器
vector<int>::const_iterator it; //只读迭代器
3.容器遍历示例
vector<int> arr;
for (int i = 0; i < 10; i++)
{
arr.push_back(i + 1);
}
vector<int>::iterator itB = arr.begin(); //指向容器头部的迭代器
vector<int>::iterator itE = arr.end(); //指向容器尾部的迭代器
//方法1:while循环遍历
while (itB != itE)
{
cout << *itB << endl;
itB++;
}
//方法2:for循环遍历
for (vector<int>::iterator it = arr.begin(); it != arr.end(); it++)
{
cout << *it << endl;
}
//方法3:for_each([开始位置,结束位置), lambda表达式) //这个方法先做了解即可
for_each (arr.begin(), arr.end(), [](int value)
{
cout << value << endl;
});
//方法4:for(元素数据类型 元素名: 容器)
for (int ele : arr)
{
cout << ele << endl;
}
总结
初步认识STL标准模板库
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)