请问const vector ::iterator和vector ::const-iterator有什么不同

问题描述:

请问const vector ::iterator和vector ::const_iterator有什么不同
1个回答 分类:综合 2014-11-13

问题解答:

我来补答
类似于指针
const vector::iterator中,const是修饰的迭代器,也就是是个常迭代器,一旦初始化比如=a.begin(),再不能更改它的值,比如赋值=a.end()是不行的,递增递减操作等都不允许.
虽然类似指针,但指针是内置类型,所以编译器可以通过const的位置来判断是常指针还是指向常量的指针,而迭代器只是一个对象,所以编译器不能分辨,所以用const_iterator来取代指向常量的指针,使用它,你通过这个迭代器对迭代器所指向的内容进行改写是非法的.
ps:以后分区分准确一点,去C++区问吧.
 
 
展开全文阅读
剩余:2000