C++ 命名要求: LegacyContiguousIterator (自 C++17 起)
来自 cppreference.com
一个 LegacyContiguousIterator 是一个 LegacyIterator,其逻辑上相邻的元素在内存中也是物理上相邻的。
指向数组元素的指针满足 LegacyContiguousIterator 的所有要求。
内容 |
[编辑] 要求
类型 It 满足 LegacyContiguousIterator,如果
- 类型 It 满足 LegacyIterator
并且,对于每个
- a,一个可解引用的类型为 It 的迭代器
- n,一个整数值
使得
- a + n 是一个有效且可解引用的迭代器值
那么
- *(a + n) 等价于 *(std::addressof(*a) + n).
[编辑] 标准库
以下标准库类型是 LegacyContiguousIterators。
- array::iterator.
- basic_string_view::iterator.
- basic_string::iterator.
- vector::iterator 对于除 bool 以外的
value_type
。 - begin(valarray) 和 end(valarray) 的返回值类型。
[编辑] 注释
指向对象类型的 奇特指针 也需要满足 LegacyContiguousIterator。
LegacyContiguousIterator 被 |
(自 C++20 起) |
[编辑] 参见
(C++20) |
指定 random_access_iterator 是一个连续迭代器,指的是内存中连续的元素(概念) |
迭代器库 | 提供迭代器、迭代器特征、适配器和实用程序函数的定义 |