1

我只是在浏览 stl 并注意到 C++ 向量没有一种find(givenElement)方法。有解决办法吗?

4

2 回答 2

5

你可以std::find改用。

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

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

示例http://ideone.com/JADSl

于 2012-07-30T05:48:51.933 回答
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!!
}
于 2012-07-30T05:57:45.033 回答