C++ Vector 与STL Iterator的使用

来源:互联网 发布:php初学者开发工具 编辑:程序博客网 时间:2024/05/29 14:30
#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(int argc, char *argv[]){    cout<<"STL_TEST"<<endl;    vector<int> iv;    for(int i=0; i<10; i++)    {        iv.push_back(i);    }    vector<int>::iterator rst = find(iv.begin(), iv.end(), 5);    if(rst == iv.end())        cout<<"no result"<<endl;    else        cout<<"got: "<<*rst<<endl;    return 0;}


#include <iostream>#include <vector>#include <algorithm>using namespace std;class onec{private:    int i;    char c;    double d;    string str;public:    onec(int ix, char cx, double dx, string sx) {i = ix; c = cx; d = dx; str = sx;}    int showID(void) {return i;}    bool operator == (const onec &x) {return (this->i == x.i)&&(this->c == x.c)&&(this->d == x.d)&&(this->str == x.str);}};int main(int argc, char *argv[]){    cout<<"STL_TEST_FIND_CLASS"<<endl;    vector<onec> o;    for(int i=0; i<10; i++)    {        o.push_back(onec(i, 'c', i/10, "str"));    }    int i = 9;    onec of(i, 'c', i/10, "str");    vector<onec>::iterator rst2 = find(o.begin(), o.end(), of);    /**/    if(rst2 == o.end())        cout<<"no result"<<endl;    else        cout<<"got: "<<rst2->showID()<<endl;    rst2 = o.begin();    cout<<"begin: "<<rst2->showID()<<endl;    rst2 = o.end() - 1;    cout<<"end: "<<rst2->showID()<<endl;    return 0;}


0 0
原创粉丝点击