C++中使用find函数查找指定数字的下标

find函数在< algorithm >库中,使用时注意导入,
find函数的定义如下所示:
_InputIterator find(_InputIterator __first, _InputIterator __last, const _Tp& __val)
参数中,第一个为数组的起始位置,第二个为数组的终点,可以这样理解[begin, end),在这个范围内查找val这个值,注意它的返回类型是一个迭代器,与指针类似,这意味着我们不能直接把它作为下标来使用,但是用它减去_InputIterator __first就是我们需要的下标了,见下面一个小栗子

#include <iostream>
#include <algorithm>
using namespace std;
int main(void){
	int a[5] = {5,3,2,1,4};
	int* q = find(a, a+5, 3);
	int r = q - a;
	printf("位置为:%d\n", r);
	printf("值为:%d\n", *q);
	return 0;
}

在这里插入图片描述