const Iterator与const_Iterrator的区别

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;  

这个迭代器是可以自己增加的,但是其所指向的元素是不可以被改变的。

原文地址:https://www.cnblogs.com/fr-ruiyang/p/12168140.html