如果两个向量迭代器iit
和min
遍历相同的vector<string>
,我如何比较指针所在位置的字符串值?我希望能够做到这一点:
(strcmp(*iit, *min) < 0)
答案 0 :(得分:3)
您可以通过问自己以下简单问题来回答这个问题:
1)如何从迭代器访问std::vector
的元素?
2)我可以对字符串执行哪些操作?
通过查找一些文档,这些都很容易回答。这将引导您找到一个解决方案,例如:使用std::string
的一个比较运算符比较迭代器的目标:
*iit < *min
答案 1 :(得分:1)
使用std::basic_string::compare
成员函数:
iit->compare(*min) < 0
答案 2 :(得分:0)
如果iit
和min
是std::vector<std::string>
的迭代器,则*iit
和*min
是std::sting
。由于std::string
有一个operator <
,您可以将它们拼凑为
if (*iit < *min)
// do stuff