iterator迭代器为什么只能用++不能用+=1
  • 板块学术版
  • 楼主0x00AC3375
  • 当前回复10
  • 已保存回复10
  • 发布时间2023/8/21 18:54
  • 上次更新2023/11/3 02:10:37
查看原帖
iterator迭代器为什么只能用++不能用+=1
855093
0x00AC3375楼主2023/8/21 18:54

for循环里相较于++个人更习惯使用+=1,绝大多数情况下++和+=1是等价的,为什么迭代器只能用++不能+=1?

#include<bits/stdc++.h>
using namespace std;
map<int,int>l;
int main()
{
    l[0]=0;
    l[1]=1;
    l[2]=2;
    for(map<int,int>::iterator it=l.begin();it!=l.end();it++) cout<<l[it->first]<<" ";
    //输出0 1 2
    for(map<int,int>::iterator it=l.begin();it!=l.end();it+=1) cout<<l[it->first]<<" ";
    //编译报错
}
2023/8/21 18:54
加载中...