【发布时间】:2011-12-04 10:21:56
【问题描述】:
我有两个向量,想比较它们的内容(字符串),但这不起作用:
vector<string>inwords = getInWords();
vector<string>killwords = getKillWords();
vector<string>::iterator it;
vector<string>::iterator ut;
for(it = inwords.begin(); it < inwords.end(); it++){
for (ut = killwords.begin(); ut < killwords.end(); ut++) {
if (*ut == *it){
cout << "match" << endl;
}
}
}
我也试过比较功能:
if (killwords[u].compare(inwords[i]) == 0)
我的猜测是我需要重载 == 运算符,但我不知道该怎么做。如果你能帮助我会很好,因为我的谷歌搜索并没有真正让我到任何地方。干杯!
【问题讨论】:
-
您要检查什么?如果向量以相同的顺序具有相同的字符串?相同的字符串以不同的顺序?如果他们至少有一个共同的字符串?还有什么?
-
我可以从代码中看出,如果每个字符串中存在另一个字符串?
-
@Michael:既然 OP 说代码行不通,看它并不会揭示他打算做什么。
-
我想检查 inwords 向量中的单词是否也在 killwords 向量中。 Michaels 的建议是正确的。
-
@sytycs,哪个词?您想查看第一个向量中的 any 词是否存在于另一个向量中?您的代码似乎是正确的,请检查输入或更具体地了解您遇到的问题。