5.5.2  距离distance()函数

5.5.2 距离 distance()函数

distance()函数用来处理两个迭代器之间的距离。使用该函数时,需要包含头文件<ite-rator>。其原型为:

978-7-111-51399-5-Chapter05-31.jpg

distance()函数的返回值ptrdiff_t是整型,first和last分别代表两个迭代器,这两个迭代器必须是同一容器的迭代器。如果不是随机访问型迭代器,从first开始往前走必须能到达last,即last必须和first相同或在其后。

distance()函数能够根据两个迭代器传回它们之间的距离。对于随机访问型迭代器,距离是常数;对于其他型迭代器,距离具有线性复杂度;对于非随机访问型迭代器,使用dis- tance()函数时,其性能和效果并不是很好,程序员应尽力避免使用。

例5-7

978-7-111-51399-5-Chapter05-32.jpg

例5-7的执行效果如图5-8所示。

978-7-111-51399-5-Chapter05-33.jpg

图5-8 例5-7的执行效果