我们知道,cpp中有很多类型的迭代器,例如正向迭代器, 输出迭代器,输入迭代器,随机访问迭代器,但是当我们声明
时set<int>::iterator it;
什么类型的迭代器是上面提到的某种迭代器?
我从没有在程序中使用上述类型迭代器,我是否需要了解它们?
使用哪些正常类型的迭代器,我们还能获得哪些额外的功能?
set<int>::iterator it
(这种)无法提供的
答案 0 :(得分:0)
set<int>::iterator
的类型为Constant LegacyBidirectionalIterator
,您可以在站点std::set上找到它。
熟悉这些迭代器将使您受益,但是总的来说,我们只需要知道如何使用它即可。对于迭代器,只要知道它是递减还是增量就足够了。
答案 1 :(得分:0)
C ++参考显示此iterator Constant LegacyBidirectionalIterator。因此,您有一个双向迭代器。 A LegacyBidirectionalIterator is a LegacyForwardIterator that can be moved in both directions (i.e. incremented and decremented)。
答案 2 :(得分:0)
Q1 是什么类型的迭代器,它是上面提到的某种迭代器?
来自https://en.cppreference.com/w/cpp/container/set
iterator Constant
LegacyBidirectionalIterator
const_iterator Constant
LegacyBidirectionalIterator
Q2 我从未在程序中使用上述类型迭代器,我是否需要了解它们?
该类型不是C ++类型。这是一个概念。是的,您需要了解它们才能正确使用它们。
第3季度,通过使用哪些普通类型的迭代器,我们还能获得哪些额外的功能? set<int>::iterator it
(此类)无法提供
由于对第二季度的回答,问题的答案尚无定论。