C++ 具名要求:老式连续迭代器 (LegacyContiguousIterator)
来自cppreference.com
老式连续迭代器 (LegacyContiguousIterator) 是老式迭代器 (LegacyIterator) ,其所指向的逻辑相邻元素也在内存中物理上相邻。
指向数组元素的指针满足老式连续迭代器 (LegacyContiguousIterator) 的所有要求。
要求
以下情况下,类型 It
满足老式连续迭代器 (LegacyContiguousIterator)
- 类型
It
满足老式迭代器 (LegacyIterator)
并且,对于每个
-
a
,为It
类型的可解引用迭代器 -
n
,为整数
使得
- a + n 为有效的可解引用迭代器值
则
- *(a + n) 等价于 *(std::addressof(*a) + n)。
标准库
下列标准库类型是老式连续迭代器 (LegacyContiguousIterator) 。
- 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 为连续迭代器,指代内存中连续相接的元素 (概念) |
迭代器库 | 提供迭代器的定义、迭代器表征、适配器及工具函数 |