STL从广义上分为算法、容器、迭代器三类。
STL的好处:STL是C++的一部分,不需要额外安装,它被内建在编译器中,使用时只需要包含include<vector>
vector简单使用案例:
#include <iostream>
#include"vector"
#include"algorithm"
using namespace std;
int main()
{
vector<int> v1; //创建一个容器,把元素copy到容器中
v1.push_back(1);
v1.push_back(1);
v1.push_back(1);
v1.push_back(2);
v1.push_back(3);
//迭代器相当于一个指针
for(vector<int>::iterator it = v1.begin();it!=v1.end();it++)
{
cout<<*it<<" ";//遍历输出容器
}
cout<<endl;
//算法,算法和迭代器能够实现无缝连接
int num = count(v1.begin(),v1.end(),1);//从v1容器的开头找值为1的个数,一直找到v1容器的结尾
cout<<num<<endl;
return 0;
}
存放类的容器使用:
class Teacher
{
public:
int age;
char name[64];
};
void test()
{
Teacher t1,t2,t3;
t1.age=26;
t2.age=27;
t3.age=28;
Teacher *a,*b,*c;
a=&t1;
b=&t2;
c=&t3;
vector<Teacher*> T;
//将t1,t2,t3的内存首地址放入到容器中,
T.push_back(a);
T.push_back(b);
T.push_back(c);
for(vector<Teacher*>::iterator it = T.begin();it!=T.end();it++ )
{
cout<<((*it)->age)<<endl;;
}
}
vector是数组容器,使用起来很方便。