const_iterator及const iterator区别

2020-05-17  本文已影响0人  Then丶

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

上一篇 下一篇

猜你喜欢

热点阅读