const_iterator
vector<int> vec;
auto i1 = vec.begin(); // i1 is vec<T>::iterator
auto i2 = vec.cbegin(); // i2 is vec<T>::const_iterator
const iterator
const iterator 如果你传递过来一个const类型的容器,那么只能用const_iterator来遍历。
vector<int> ivec;
vector<int>::const_iterator citer1 = ivec.begin();
const vector<int>::iterator citer2 = ivec.begin();
*citer1 = 1; //error
*citer2 = 1; //right
++citer1; //right
++citer2; //error
原文:https://www.cnblogs.com/greatverve/archive/2012/09/12/const-iterator.html
网友评论