STL全称“ Standard Template Library”是C++的一种标准模板库,里面包含常用的数据结构和算法。它以可读性、健壮性、可移植、简便性闻名于C++领域。
STL包含很多可拓展的数据类型,像上面的Vector、List等等,一般是由std::
引导的,像下面这种:要使用include
下面是一些常用的内置成员函数:
有意思的是像下面的List容器,它在其他方面与Vector相类似,不过它是可以两头插入元素的,有一个特别的push_front()函数,就是向前面插入元素,正因如此无序的存储,在遍历并输出它其中的元素时,要使用p != s.end()
而不是p < s.end()
,其实Vector也可以这样用,甚至于更推荐这样用。
下面是一段测试的代码:
#include <iostream>
#include <list>
#include <string>
using namespace std;
int main()
{
list<string> s;
s.push_back("一");
s.push_back("二");
s.push_front("三");
s.push_front("四");
list<string>::iterator p;
for(p = s.begin(); p != s.end(); p++){
//cout<<"S最后"<< &(*(s.end())<< endl;
cout << &(*p) << endl;
cout << *p << endl;
}
return 0;
}
//这上面运行会输出对应元素的地址,可以从里面看得出来,堆桟末尾的地址不一定是最后一个元素。
下面是map的用法:
最后的while循环是从外部输入字符串,并从原来的price中搜寻对应的float值,就比如cin一个snapple,total就会加上一个0.5(coke的值)。