矢量中没有find(element)方法

No find(element) method in vectors

本文关键字:element 方法 find      更新时间:2023-10-16

我刚刚浏览了stl,注意到C++向量没有find(givenElement)类型的方法。这方面有什么办法吗?

您可以改用std::find

std::vector<int> x;
//...
std::find(x.begin(),x.end(),42);

注意如果有多个相同值的元素,则只会得到第一个元素(但可以相应地更改起始迭代器)。

样品http://ideone.com/JADSl

请注意,std::find不会返回truefalse。它将迭代器返回到找到元素的位置。例如
if ( std::find( x.begin(), x.end(), 42 ) == x.end() )
{
    // We get here if 42 is not found in the vector!!
}