查找语句中的"!=vector.end()"是什么意思?

What does "!=vector.end()" mean in find statement?

本文关键字:是什么 end 意思 vector 查找语句      更新时间:2023-10-16

这个接受的答案陈述了以下代码:

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

我理解的第一部分,我们将在向量的开始和结束之间找到项目。但是为什么!=vector.end().比如:"如果向量的末端不等于找到的内容"?此代码是否应该在 if 语句中?

std::vector::end返回一个"特殊"迭代器。它不会给你最后一个元素,而是给你一个超过结尾的元素。

它也用于指示"不匹配"或"无元素",就像您在 1970 年代使用"-1"来表示错误条件一样。

这就是你在这里看到的。