【发布时间】:2026-01-03 06:20:04
【问题描述】:
因此,根据我学到的获取迭代器在向量中的位置,我们这样做:
it - vector.begin();
有人能解释一下这个减号“实际上”有什么作用吗?
【问题讨论】:
-
这意味着完全一样的东西减去两个指针的意思。你知道两个指针相减会得到什么吗?
-
@SamVarshavchik 我更喜欢从相反的方向考虑它。指针减法是迭代器减法的一种特殊情况。一旦理解了迭代减法,他们只需要知道指针是迭代器,他们就可以立即理解指针减法的含义。
-
std::distance(vector.begin(), it);更好地表达 IMO 的意图。 (并与非随机迭代器一起使用)