C++中有一个distance函数,它可以计算两个迭代器之间的距离,即两个迭代器之间元素的个数。distance函数的声明如下:
templatetypename iterator_traits ::difference_type distance(InputIterator first, InputIterator last);
distance函数的参数是两个迭代器,分别表示要计算距离的起始位置和结束位置,返回值是两个迭代器之间元素的个数。
下面通过一个例子来说明distance函数的使用方法。假设有一个int型的vector容器,它的元素依次是1,2,3,4,5,6,7,8,9,10。那么要计算容器中元素3到元素7之间的元素个数,可以使用distance函数,代码如下:
vectorvec = {1,2,3,4,5,6,7,8,9,10}; int dis = distance(vec.begin()+2, vec.begin()+6); cout << dis << endl;
输出结果为:4,表示容器中元素3到元素7之间的元素个数为4。
以上就是C++中distance函数的使用方法,distance函数可以计算两个迭代器之间的距离,即两个迭代器之间元素的个数,这在容器操作中非常有用,可以大大提高编程效率。