C++STL(标准库)

标准模板库(STL)是C++标准函数库中的一个子集,占庞大子集的80%;提供标准的输入/输出、字符串、容器、数值运算和非数值运算的支持。 ios

包括C标准函数库、I/O流、String、(容器、算法)STL、诊断支持。 算法

在C++标准中,STL被组织为13个头文件:<algorithm><deque><functional><iterator><vector><list><map><memory><queue><numeric><set><stack><utility> less

#include<vector>
#include<iostream>
using namespace std;
int main( )
{
   vector<double> a;
   vector<double>:: const_iterator i;//iterator
   a.push_back(1);
   a.push_back(2);
   a.push_back(3);
   a.push_back(4);
   for(i = a.begin();i!=a.end();i++)
      cout<<(*i)<<endl;
   return 0;
}
#include <cstdlib>
#include <iostream>
#include <vector>
#include <algrithm>
using namespace std;

template<class T>
struct Print
{
   void operator()(T& x)const//重载括号运算
   {
      if(x%2==0){
         cout<<x<<' ';
       }
    }
};

int main(int argc, char *argv[])
{
    vector<int> vcInts;//实例化一个vector容器
    for(int i=0;i<10;i++){
        vcInts.push_back(i);
    }
    vector<int>::iterator iterBegin, iterEnd;
    iterEnd = vcInts.end();
    for(iterBegin = vcInts.begin();iterBgin!= iterEnd;iterBegin++)
    {
        cout<<*iterBegin<<' ';
     }
    iterBegin = vcInts.begin();
    for_each(iterBegin,iterEnd,Print<int>());//经过算法for_each和函数对象Print输出容器中的元素
    cout<<end;
    system("pause");
    return 0;
}
#include<iostream>
#include<algorithm>//大量模板函数
#include<functional>
#include<vector>
using namespace std;
class myclass{
    public:
       myclass(int a,int b):first(a),second(b){};//构造函数
       int first;
       int second;
       bool operator< (const myclass &m)const//const表示重载运算符
       {    
           return first<m.first;
        }
};
bool less_second(const myclass& m1,const myclass & m2)
{
   return m1.second<m2.second;
}
int main()
{