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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/27 20:24:34
请问constvector::iterator和vector::const_iterator有什么不同请问constvector::iterator和vector::const_iterator有什么

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

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