const Iterator,就是不能改变的迭代器,比如
vector<int> vv(10,9);
const vector<int>::iterator iter = vv.begin();
iter是一个常量,因此是不能改变的。换句话说,iter只能指向vv的第一个元素,不能指向其他的元素。
虽然iter不能指向其他的元素,但是其指向的元素的值是可以改变的。
以下是错误的:
++iter;
以下是正确的:
*iter = 10;
而对于const_iterator来说的话,正好相反,比如
vector<int> vv(10,9);
vector<int>::const_iterator iter;
这个迭代器是可以自己增加的,但是其所指向的元素是不可以被改变的。