我有这个向量:
using namespace std; vector< pair<short,string> > vec = {};
我想知道是否存在一对< a,b>用b == X.
我知道std :: find from< algorithm>但不知道如何在这里应用它.
我应该写自己的功能吗?
bool is_in_vec(X) { for (auto& e : vec) if (e.second == X) return true; return false; }
这有效吗?
解决方法
在C 11中,您也可以使用
std::any_of
std::string X{"foobar"}; return std::any_of(vec.begin(),vec.end(),[&X](const pair<short,string>& p) { return p.second == X; });