C ++;如何比较遍历相同字符串向量的不同迭代器的字符串值

时间:2015-12-15 18:24:04

标签: c++ iterator strcmp

如果两个向量迭代器iitmin遍历相同的vector<string>,我如何比较指针所在位置的字符串值?我希望能够做到这一点:

(strcmp(*iit, *min) < 0)

3 个答案:

答案 0 :(得分:3)

您可以通过问自己以下简单问题来回答这个问题:

1)如何从迭代器访问std::vector的元素?

2)我可以对字符串执行哪些操作?

通过查找一些文档,这些都很容易回答。这将引导您找到一个解决方案,例如:使用std::string的一个比较运算符比较迭代器的目标:

*iit < *min

答案 1 :(得分:1)

使用std::basic_string::compare成员函数:

iit->compare(*min) < 0

答案 2 :(得分:0)

如果iitminstd::vector<std::string>的迭代器,则*iit*minstd::sting。由于std::string有一个operator <,您可以将它们拼凑为

if (*iit < *min)
    // do stuff