STL 迭代器 iterator const

Posted chenhuan001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
}

 

以上是关于STL 迭代器 iterator const的主要内容,如果未能解决你的问题,请参考以下文章

C++ STL中的 iterator 和 const_iterator

stl_iterator.h迭代器

STL之迭代器(iterator)

STL 迭代器(iterator)详解

STL 笔记 迭代器 iterator

STL源码分析--iterator