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