C ++如何跳过接下来的2次循环迭代,即多次继续

时间:2017-04-19 04:18:06

标签: c++

说我有以下循环:

vector <string> args;
for (string s : args)
{
    if ( s == "condition" )
        continue; // skips to next iteration
}

如何在此实例中跳过多次迭代?是否有类似多个continue语句?

2 个答案:

答案 0 :(得分:3)

考虑使用带有索引的for循环:

for (size_t i = 0; i < args.size(); i++)
{
    if (args[i] == "condition") {
        i++;
        continue;
    }
}

答案 1 :(得分:1)

您可以使用迭代器。

auto it_end = --args.end();
for(auto it = args.begin(); it != args.end(); it++){
    if ( *it == "condition" && it != it_end) it++;
}