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()
{
相關文章
相關標籤/搜索