原创2025/7/10大约 29 分钟
迭代器(可以看作指针)
-
c++里面可以用auto自动识别迭代器类型
-
不用auto,则需要写完整代码。例如:vector< int > :: iterator it
-
for(auto x: nums)可以利用x来遍历nums,但不能修改值(其不是迭代器,因此输出时直接cout << x即可)
- x是深拷贝的一份数据
-
for(auto &x:nums)可以利用x来修改容器nums的值
- 本质上x是指针
-
迭代器可分为迭代器和常量迭代器(常量迭代器适用于模板为const类型的,即值不可修改)
-
还可分为正向迭代器,反向迭代器,双向迭代器,随机访问迭代器
-
随机访问迭代器只有vector,deque,string有,他们对+=,,<=,>=进行了重载
-
支持双向迭代器的有set,map,list,multiset,multimap
原创2024/5/10大约 11 分钟
