在函數裏,我有一個while循環,看起來像下面這樣:指定索引範圍
void unpack(std::vector<std::string>& leftcol, std::vector<std::string>& rightcol, std::vector<std::string> origv, std::string perm) {
....
while(perm != origv[0] && perm != origv[1])
....
}
我希望做的是在origv
比較perm
的每個元素。但是,如果我按順序執行,while循環將永遠循環。其原因是燙髮是排列的,直到它匹配origv
元素之一。只有一個匹配。
有沒有辦法設置perm
與origv
中的每個元素進行比較而沒有循環遍歷向量?
因此,如果origv
有三個元素,我希望能夠以上述代碼對兩個元素的相同方式檢查每個元素對perm
。
要清楚,我想要說的是,我不能做這樣的事情:
for(std::vector<std::string>::size_type i = 0; i < origv.size(); i++)
while(perm != origv[i])
leftcol'和'rightcol'?他們正在驚嚇 – P0W
@ P0W。直到循環結束時才使用它們,所以不介意這些。 – Ares
要清楚,你想要'while(perm不在原始){做某事}',對吧? – Kaiged