在函数里,我有一个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