随机访问迭代器是否转换为InputIterator?

Tho*_*Lee 0 c++ stl

函数从向量开始 http://www.cplusplus.com/reference/vector/vector/begin/ 返回一个随机访问迭代器,而函数查找需要InputIterator http://www.cplusplus.com/reference/algorithm/find/,如示例所示"it = find(myvector.begin(),myvector.end(),30);".随机访问迭代器是否转换为InputIterator以与find一起使用?

Bau*_*gen 6

不需要转换,因为每个随机访问迭代器已经输入迭代器.

随机访问迭代器和输入迭代器不是类型,而是概念.由于随机访问迭代器的要求比输入迭代器的要求更严格,我的第一句话成立.

在初学者友好的条款中也许是同样的事情:如果你想通过汽车上的"仅限车辆"标志,你不需要做任何特别的事情,因为你的汽车已经是一辆车.与迭代器概念相同.

该行的底部:您可以只传递的返回值std::vector::beginstd::find,有什么那么没有任何问题或隐患.