STL 迭代器 iterator const

STL迭代器很多时候可以当成指针来使用。

但是指针一般可以用const来控制访问。

那迭代器呢。

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    vector<int> vecs;
    vecs.push_back(1);
    vecs.push_back(3);
    vecs.push_back(2);

    //1. 表示改迭代器为const,不能修改。但是指向的值可以改变. 相当于int * const a
    const vector<int>::iterator p = vecs.begin();
    *p = 10;
    //p++;//编译错误

    
    //2. 表示迭代器指向的值为const, 相当于const int * a
    vector<int>::const_iterator p1 = vecs.begin();
    //*p1 = 10;//编译错误
    p1++;
    return 0;
}
原文地址:https://www.cnblogs.com/chenhuan001/p/7490955.html