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; }
时间: 2024-10-10 10:04:56