使用ForwardIterator相比BidirectionalIterator或RandomAccessIterator的性能优势是什么?
答案 0 :(得分:2)
限制更严格的迭代器类别通常不会带来性能优势,因为您通常会使用该术语。相反,它可以访问以其他方式无法访问的结构中存储的数据。
特别是正向迭代器,它可以用于(例如)访问存储在单链列表中的数据,而双向迭代器通常需要一个双链列表。
使用单链表比双链表可能会带来性能优势-每个节点只需要一个指针,而不是两个。每个节点的指针更少,通常可以期望在缓存中存储更多的节点,这可以通过减少对主内存的引用来提高性能(显着)。