2

我看到自 C++17 以来有一个新的迭代器,下面由 cppreference 中的屏幕截图列出。我很困惑。什么样的迭代器是随机访问而不是 C++ 中的连续存储?否则, ContiguousIterator 不比 RandomAccessIterator 强大吗?正确的?

在此处输入图像描述

然后这里的链接

4

1 回答 1

3

一个具有随机访问迭代器的非连续容器是std::deque. 引用 cppreference 网站:

与 相反std::vector,双端队列的元素不是连续存储的:典型的实现使用一系列单独分配的固定大小的数组。

deques上常见操作的复杂度(效率)如下:

  • 随机访问 - 常数O(1)
  • 在末尾或开头插入或删除元素 - 常量O(1)
  • 插入或删除元素 - 线性O(n)
于 2016-10-19T10:14:19.360 回答