find 语句中的“!=vector.end()”是什么意思?

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

accepted answer 声明以下代码:

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

我理解的第一部分,我们要在vector的开始和结束之间找到item。但是为什么!=vector.end()。类似于:"if the end of the vector does not equal what is found"?这段代码应该在 if 语句中吗?

std::vector::end returns 一个 "special" 迭代器。它不会给你最后一个元素,而是 一个过去的结尾

它也用于表示 "no match" 或 "no element",就像您在 1970 年代可能使用“-1”表示错误情况一样。

这就是您在这里看到的。