什么';s比较<&燃气轮机;比较随机访问迭代器时,如c+中的向量+;? 比较C++、
中的随机存取迭代器,如<代码> STD::向量< /代码>时,比较< <代码> >代码> >代码>的内容是什么? 它比较指针地址还是指针内容什么';s比较<&燃气轮机;比较随机访问迭代器时,如c+中的向量+;? 比较C++、,c++,iterator,C++,Iterator,中的随机存取迭代器,如 STD::向量< /代码>时,比较< >代码> >代码>的内容是什么? 它比较指针地址还是指针内容 为什么其他迭代器类型不支持,而支持=?通常,所有随机访问迭代器都支持关系比较,因为对它们来说,这种比较可以轻松、立即和高效地进行评估 随机访问迭代器的关系比较不比较“指针地址或指针内容”。(顺便说一句,你说的是什么指针?)。容器元素越靠近容器的开头,对应的迭代器在关系比较运算符看来就越“小”。可以把它看作是比较迭代器引用的容器元素的索引。如何在内部实现这种比较是一个实现细
为什么其他迭代器类型不支持
,而支持=代码>?通常,所有随机访问迭代器都支持关系比较,因为对它们来说,这种比较可以轻松、立即和高效地进行评估
随机访问迭代器的关系比较不比较“指针地址或指针内容”。(顺便说一句,你说的是什么指针?)。容器元素越靠近容器的开头,对应的迭代器在关系比较运算符看来就越“小”。可以把它看作是比较迭代器引用的容器元素的索引。如何在内部实现这种比较是一个实现细节。在std::vector
的情况下,通常归结为指针比较。在ogstd::deque
的情况下,它将更加复杂,但仍然非常有效
同样的逻辑可以应用于非随机访问迭代器,这意味着非随机访问迭代器也可以被视为按照相同的原则排序。但对于非随机访问迭代器,通常没有有效的即时方法来确定哪个“大”,哪个“小”。不可能立即说出哪个迭代器指向非随机可访问容器中的早期元素。这就是此类迭代器不支持关系比较运算符的原因。什么是“比较内容”?我的意思是在比较迭代器时如何理解?<>非常类似于比较两个指针。其他的不是连续的,所以没有意义