它是什么-vector.begin()实际上是做什么的?

时间:2020-04-29 11:39:07

标签: c++ vector iterator

因此,根据我学会的获取迭代器在向量中的位置,我们做到了:

it - vector.begin();

有人可以解释这个减去“实际上”是什么吗?

1 个答案:

答案 0 :(得分:3)

大概vectorstd::vector的实例,it是该容器的元素的迭代器。

将两个随机访问迭代器赋予相同的范围,从另一个中减去一个将导致从一个元素到其同级的距离。结果与从另一个元素的索引中减去一个元素的索引一样。

距离的作用类似于数字线:从较低的索引到较高的索引的距离为负。

begin将迭代器返回到容器的第一个元素。第一个元素的索引为0。因此,从另一个迭代器减去begin迭代器将导致另一个迭代器从起点开始的距离,与该迭代器指向的元素的索引相同。