有什么选择?
我应该自己写吗?
解决方法
有一个std :: find()算法,它在迭代器范围内执行线性搜索,例如,
std::vector<int> v; // Finds the first element in the vector that has the value 42: // If there is no such value,it == v.end() std::vector<int>::const_iterator it = std::find(v.begin(),v.end(),42);
如果对矢量进行了排序,则可以使用std :: binary_search()来测试向量中是否存在值,并使用std :: equal_range()来获取开始和结束迭代器到向量中具有该值的元素范围值.