const_iterator, iterator和const iterator的区别

来源:互联网 发布:淘宝靠谱俄罗斯代购店 编辑:程序博客网 时间:2024/05/16 06:34

const_iterator指迭代器所指向的容器内的元素不可以改变,对容器内的元素只有读的权限,但是对于指针自身是可以改变的,它相当于const char *,即一个指向常量字符的指针,指针可以变,但是字符却不能变

iterator和const_iterator相反,迭代器所指向的容器内的元素可以改变,比如调用std::vector::erase函数时,必须要用iterator,因为要删除该元素,它相当于char*

const iterator则是一个常量指针,指针自身初始化后不能再通过赋值等操作去改变,相当于char *const


0 0