命名空间
变体
操作

operator+,-(ranges::enumerate_view::iterator)

来自 cppreference.cn
 
 
范围库 (Ranges library)
范围适配器 (Range adaptors)
 
 
friend constexpr /* iterator */

    operator+( const /* iterator */& i, difference_type n )

    requires ranges::random_access_range</* Base */>;
(1) (C++23 起)
friend constexpr /* iterator */

    operator+( difference_type n, const /* iterator */& i )

    requires ranges::random_access_range</* Base */>;
(2) (C++23 起)
friend constexpr /* iterator */

    operator-( const /* iterator */& i, difference_type n )

    requires ranges::random_access_range</* Base */>;
(3) (C++23 起)
friend constexpr difference_type
    operator-( const /* iterator */& i, const /* iterator */& j ) noexcept;
(4) (C++23 起)

执行 迭代器 算术或计算距离。

pos_ 是底层索引,而 Base 是底层视图的(可能带 const 限定符的)类型。

等价于

1) auto temp = i; temp += n; return temp;
2) return i + n;
3) auto temp = i; temp -= n; return temp;
4) return i.pos_ - j.pos_;

这些函数对于普通的非限定查找限定查找不可见,只有当 enumerate_view::iterator<Const> 是参数的关联类时,才能通过实参依赖查找 (ADL)找到它们。

目录

[编辑] 参数

i, j - 迭代器
n - 相对于当前位置的偏移量

[编辑] 返回值

1,2) 一个自增后的迭代器。
3) 一个自减后的迭代器。
4) 给定迭代器之间的距离。

[编辑] 示例

[编辑] 缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 发布时的行为 正确的行为
LWG 3912 C++23 重载 (4) 不是 noexcept 它是 noexcept

[编辑] 参阅

前进或后退底层迭代器
(public member function) [编辑]