我在这里有一个向量,现在我需要使用另一个迭代器来窥视该向量,并查看前瞻是字符串“ assign”还是整数值。
bool Val(vector<struct token>token_list){
vector<struct token>::iterator iter = token_list.begin();
vector<struct token>::iterator peeker = token_list.begin();
for(iter; iter!=token_list.end(); ++iter){
if(iter->type == "id"){
//peeker+=1;
cout<<peeker->type<<endl; //check the type: assign / inum
}
}
}
但是似乎没有运气,是否有可能在迭代循环中使用另一个迭代器?非常感谢。 ;(
答案 0 :(得分:1)
如果要让迭代器在给定的迭代器之后引用该元素,则只需创建它即可:
for(auto iter = collection.cbegin(), end = collection.cend(); end != iter; ++iter) {
...
auto peeker = iter + 1;
...
}