//声明:该博客为对STL的一个初步认识,是在我学习黑马的STL课程的过程中总结记录的,后续还会持续更新。学STL我目前来说是用来应付蓝桥杯的,因为听说C with STL效率更高,因为STL可以大大简化代码,然后我有一定的C++基础,当然没学完,为了节省时间,所以直接来学下STL。
STL分类
- 容器
- 算法
- 迭代器
容器
分为序列式容器和关联式容器,前者就像是一组有顺序的元素,按原来固定顺序放入数组,后者则放入数组之后原来的顺序改变了
算法
通过有限的步骤,解决问题
迭代器
可理解为可遍历容器的指针,默认指向第一个元素的位置(实际上是一个类对象)
算法迭代器分离案例:
//每个容器有对应自己的迭代器,这个迭代器由容器提供,算法直接传入迭代器就可以到容器中
#include<iostream>
using namespace std;
int myCount(int* qStart, int* qEnd, int val)//算法
{
int num=0;
while (qStart != qEnd)
{
if (*qStart == val)
num++;
qStart++;
}
return num;
}
int main()
{
int arr[] = { 0,1,9,8,7,2,0 };//容器
int* qStart = arr;//迭代器,指向容器第一个元素
int* qEnd = &arr[sizeof(arr) / sizeof(int)];//迭代器,指向容器最后一个元素的下一位
myCount(qStart, qEnd, 0);
cout << "num=" << num << endl;
}