2017-04-19 104 views

回答

3

考慮使用for迴路搭配指數:

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

比迭代器更好的方法 – jamek

1

您可以使用迭代器。

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

如果'「條件」'是args'的'結束,那麼這將導致一個錯誤,因爲'它++'被調用一次更多的時候'它是在'args.end()' – tntxtnt

+0

我已經更新了我的答案,我想現在它是正確的,並沒有失去太多的效率。@ tntxtnt – Jiahao

+0

如果'args'是空的,'--args.end() '看起來像我未定義的行爲。 –

相關問題