C++ Primer学习7:const iterator与const_iterator的区别

来源:互联网 发布:自动化编程软件有哪些 编辑:程序博客网 时间:2024/06/06 01:33

const iterator是指iterator是参量,不可修改

const_iterator是iterator指向的元素不可修改

#include <iostream>#include <vector>using namespace std;int main(){    vector<int> num(10,9);    //对比下面2个迭代器    const vector<int>::iterator iter1 = num.begin(); //常量迭代器,该迭代器不能改变//    ++iter1; //error    vector<int>::const_iterator iter2 = num.begin();  //该迭代器所指向的元素的值不能改变    ++iter2; //true//    *iter2 = 7;  //error    int i;    vector<int>::iterator iter;    for(i = 0,iter = num.begin(); iter != num.end(); ++iter,++i)    {        *iter = i;    }    //迭代器的算术运算    //iter + n    vector<int>::iterator iter3 = num.begin();    vector<int>::iterator iter4 = num.end();    vector<int>::iterator mid = num.begin() + num.size() / 2;    iter3 += 2;    cout << "*iter3 = " << *iter3 << endl;    cout << "iter4到iter3的距离:"<< iter4 - iter3 <<endl;    cout << "*mid = " << *mid << endl;    cout << "mid到begin的距离:"<< mid - num.begin() <<endl;//  cout << *( (num.begin() + num.end())/2  );  //error: 2个迭代器不能相加,能相减    return 0;}


0 0
原创粉丝点击