命名空间
变体
操作

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

来自 cppreference.cn
 
 
范围库
范围适配器
 
 
friend constexpr /* iterator */

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

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

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

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

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

    requires ranges::random_access_range</* Base */>;
(3) (since C++23)
friend constexpr difference_type
    operator-( const /* iterator */& i, const /* iterator */& j ) noexcept;
(4) (since 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> 是参数的关联类时,才能通过实参依赖查找找到。

目录

[edit] 参数

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

[edit] 返回值

1,2) 递增的迭代器。
3) 递减的迭代器。
4) 给定迭代器之间的距离。

[edit] 示例

[edit] 缺陷报告

以下行为变更缺陷报告已追溯应用于先前发布的 C++ 标准。

DR 应用于 已发布行为 正确行为
LWG 3912 C++23 重载 (4) 不是 noexcept 它是 noexcept

[edit] 参见

前进或后退底层迭代器
(公共成员函数) [编辑]