STL 概念

STL 概念,第1张

文章目录
  • 前言
  • 一、STL是什么?
  • 二、迭代器简介
    • 1.迭代器(iterator)是什么
    • 2.使用方法
    • 3.容器遍历示例
  • 总结


前言

STL是C++中比较重要,也是比较常用的库,里面的许多容器和算法可以极大的方便我们的编程,提高效率。
本章节为学习记录,如有纰漏,欢迎指正。


一、STL是什么?
  • STL全称为:(Standart Template Library, 标准模板库)

  • STL广义上分为: 容器(container),算法(algorithm),迭代器(iterator),其中的容器和算法通过迭代器进行无缝链接

  • STL的六大组件:容器,算法,迭代器,仿函数,适配器(配接器),空间配置器

二、迭代器简介 1.迭代器(iterator)是什么
  • 初学者可以简单的把迭代器理解为指针;实际上迭代器是更加广义上的指针,是指针的泛化,它的使用相对而言更加安全和方便,并且它允许用相同的方式处理不同的数据结构。
  • 注:迭代器可以使用指针的各种 *** 作,包括解引用,自增,自减等。
  • 对于支持随机访问的迭代器,都可以使用sort算法来排序
2.使用方法
  • 实例化的定义
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标准模板库

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/2889643.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-09-14
下一篇2022-09-14

发表评论

登录后才能评论

评论列表(0条)

    保存