功能
在 vector 中查找与 val 相匹配的值,在 vector 中有多值与之匹配时,只返回第一个匹配值的 Iterator 。
使用
- 注意范围是左闭右开 。** ** [ first , last )
- 传入三个参数
- first 上限
- last 下限
- val 匹配值
- 函数会返回,查到的数的迭代器指针
InputIterator find (InputIterator first, InputIterator last, const T& val);
代码列子说明
备注:
std :: distance ( v.begin(), iter ) 其值为 iter - v.begin() 的物理地址差#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
vector< int > v;
int num_to_find=25; //要查找的元素
for ( int i=0;i<10;i++)
v.push_back(i*i);
vector< int >::iterator iter=std::find(v.begin(),v.end(),num_to_find); //返回的是一个迭代器指针
if (iter==v.end())
cout<< "ERROR!" <<endl;
else//注意迭代器指针输出元素的方式和distance用法
cout<< "index of value " <<(*iter)<< " is " << std::distance(v.begin(), iter)<<endl;
//输出结果:the index of value 25 is 5
return 0;
}