因此,根据我学会的获取迭代器在向量中的位置,我们做到了:
it - vector.begin();
有人可以解释这个减去“实际上”是什么吗?
答案 0 :(得分:3)
大概vector
是std::vector
的实例,it
是该容器的元素的迭代器。
将两个随机访问迭代器赋予相同的范围,从另一个中减去一个将导致从一个元素到其同级的距离。结果与从另一个元素的索引中减去一个元素的索引一样。
距离的作用类似于数字线:从较低的索引到较高的索引的距离为负。
begin
将迭代器返回到容器的第一个元素。第一个元素的索引为0。因此,从另一个迭代器减去begin迭代器将导致另一个迭代器从起点开始的距离,与该迭代器指向的元素的索引相同。