向量中没有find(元素)方法

时间:2012-07-30 05:47:58

标签: c++

我只是通过stl查看并注意到C ++向量没有find(givenElement)类型的方法。有解决方法吗?

2 个答案:

答案 0 :(得分:5)

您可以改为使用std::find

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

注意如果你有多个相同值的元素,你只能获得第一个元素(但你可以相应地更改启动迭代器)。

示例http://ideone.com/JADSl

答案 1 :(得分:1)

另请注意,std::find不会返回truefalse。它返回一个迭代器到找到该元素的位置。例如

if ( std::find( x.begin(), x.end(), 42 ) == x.end() )
{
    // We get here if 42 is not found in the vector!!
}