F_JustWei's Studio.

iterator 与 const_iterator

字数统计: 190阅读时长: 1 min
2021/05/15 Share

iterator 与 const_iterator

iterator 与 const_iterator 的作用:

遍历容器内的元素,并访问这些元素的值。

iterator 与 const_iterator 的区别:

iterator 可以改元素值,但 const_iterator 不可以改元素值。

const_iterator 对象可以用于 const vector 或非 const vector,它自身的值可以改(可以指向其他元素),但不能改写其指向的元素值。

示例:

1
2
3
4
5
6
7
8
9
10
11
vector<int> v = { 0,1,2,3,4,5,6,7 };
for (auto it = v.begin(); it != v.end(); it++) {
*it += 5;
cout << *it << " ";
}
cout << endl;
//下面这个会报错
for (auto it = v.cbegin(); it != v.cend(); it++) {
*it += 5;//注释掉这一行可继续使用
cout << *it << " ";
}

注释后的输出:

1
2
5 6 7 8 9 10 11 12
5 6 7 8 9 10 11 12
CATALOG
  1. 1. iterator 与 const_iterator
    1. 1.0.1. iterator 与 const_iterator 的作用:
    2. 1.0.2. iterator 与 const_iterator 的区别:
    3. 1.0.3. 示例:
    4. 1.0.4. 注释后的输出: