說我有以下循環:C++如何跳過接下來的2次迭代循環的,即多繼續
vector <string> args;
for (string s : args)
{
if (s == "condition")
continue; // skips to next iteration
}
我怎麼能跳過多次迭代在這種情況下?有沒有像多個繼續聲明?
說我有以下循環:C++如何跳過接下來的2次迭代循環的,即多繼續
vector <string> args;
for (string s : args)
{
if (s == "condition")
continue; // skips to next iteration
}
我怎麼能跳過多次迭代在這種情況下?有沒有像多個繼續聲明?
考慮使用for
迴路搭配指數:
for (size_t i = 0; i < args.size(); i++)
{
if (args[i] == "condition") {
i++;
continue;
}
}
您可以使用迭代器。
auto it_end = --args.end();
for(auto it = args.begin(); it != args.end(); it++){
if (*it == "condition" && it != it_end) it++;
}
比迭代器更好的方法 – jamek