我看到自C ++ 17以来有一个新的迭代器,下面是cppreference中的截图。我很困惑。什么样的迭代器是随机访问而不是C ++中的连续存储?否则,ContiguousIterator不比RandomAccessIterator强大?正确?
然后是链接here
答案 0 :(得分:2)
一个具有随机访问迭代器的非连续容器是std::deque
。引用cppreference网站:
与
std::vector
相反,双端队列的元素不是连续存储的:典型的实现使用一系列单独分配的固定大小的数组。deques的常见操作的复杂性(效率)如下:
- 随机访问 - 常量 O(1)
- 在结尾或开头插入或删除元素 - 常量 O(1)
- 插入或移除元素 - 线性 O(n)