STL:是標(biāo)準(zhǔn)模板庫(kù)(StandardTemplate Library,STL),
標(biāo)準(zhǔn)模版庫(kù)是一個(gè)基于模版的容器類庫(kù),包括鏈表,列表,隊(duì)列和堆棧。
標(biāo)準(zhǔn)模版庫(kù)還包含許多常用的算法,包括排序與查找.
STL的代碼從廣義上講分為三類:algorithm(算法)、container(容器)和iterator(迭代器),幾乎所有的代碼都采用了模板類和模板函數(shù)的方式,這相比于傳統(tǒng)的由函數(shù)和類組成的庫(kù)來(lái)說(shuō)提供了更好的代碼重用機(jī)會(huì)。
STL是跨平臺(tái)的.
C++的一個(gè)新特性就是采用了標(biāo)準(zhǔn)模版庫(kù),所有主要編程器銷售商都把裱糊在內(nèi)模版庫(kù)作
為編譯器的一部分進(jìn)行提供.
標(biāo)準(zhǔn)模版庫(kù)的目的是提供對(duì)常用需求重新開(kāi)發(fā)的一種替代方法,標(biāo)準(zhǔn)模版庫(kù)已經(jīng)經(jīng)過(guò)測(cè)試
和調(diào)試,具有很搞的性能并且是免費(fèi)的,最重要的是,標(biāo)準(zhǔn)模范庫(kù)是可重用的,當(dāng)你知道如
#include <iostream>
using namespace std;
#include <vector>
#include <iterator>
void print(vector<int> v)
{
vector<int>::iterator iter;
for (iter = v.begin(); iter != v.end(); iter++)
{
cout<< *iter <<" ";
}
cout<<endl;
}
int main()
{
vector<int> v1;
v1.push_back(1);
v1.push_back(6);
v1.push_back(6);
v1.push_back(3);
vector<int>::iterator iter1;
vector<int>::iterator iter2;
for (iter1 = v1.begin(); iter1 != v1.end();)
{
if (6 == *iter1)
{
iter2 = iter1;
v1.erase(iter2);
}
else
iter1++;
}
print(v1);
return 0;
}
聯(lián)系客服