什么"!= vector.end()"在发言中意味着什么?

时间:2015-01-22 20:28:07

标签: c++ vector

accepted answer说明以下代码:

std::find(vector.begin(), vector.end(), item)!=vector.end()

我理解的第一部分,我们将在 vector 的开头和结尾之间找到 item 。但为什么!=vector.end()。类似于:“如果向量的末尾不等于找到的东西”?该代码应该在if声明中吗?

1 个答案:

答案 0 :(得分:5)

std::vector::end返回一个“特殊”迭代器。它没有给你最后一个元素,但一个结束

它也用于表示“不匹配”或“无元素”,就像你可能在20世纪70年代使用“-1”来表示错误情况一样。

这就是你在这里看到的。