const Iterator与const_Iterrator的区别

Posted fr-ruiyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;  

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

以上是关于const Iterator与const_Iterrator的区别的主要内容,如果未能解决你的问题,请参考以下文章

const Iterator与const_Iterrator的区别

条目二十六《iterator优先于const_iteratorreverse_iterator以及const_reverse_iterator》

const_iterator 转成 iterator 的方法

C++ STL中的 iterator 和 const_iterator

c++11中,为啥可以用const_iterator删除map/multimap中的元素

关于犰狳的 sp_mat::const_row_iterator 的“基本”是啥?