函数从向量开始 http://www.cplusplus.com/reference/vector/vector/begin/ 返回一个随机访问迭代器,而函数find接受InputIterator http://www.cplusplus.com/reference/algorithm/find/,如示例所示“it = find(myvector.begin(),myvector.end(),30);”。随机访问迭代器是否转换为InputIterator以与find?
一起使用答案 0 :(得分:5)
不需要转换,因为每个随机访问迭代器已经 是输入迭代器。
随机访问迭代器和输入迭代器不是类型,而是概念。由于随机访问迭代器的要求比输入迭代器的要求更严格,我的第一句话就成立了。
在初学者友好的条款中也许是同样的事情:如果你想通过汽车的“仅限车辆”标志,你不需要做任何特别的事情,因为你的车已经是一辆车。与迭代器概念相同。
行的底部:您只需将std::vector::begin
的返回值传递给std::find
,就不会出现任何问题或陷阱。