命名空间
变体
操作

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

来自 cppreference.com
 
 
范围库
范围适配器
 
 
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> 是参数的关联类时找到。

内容

[编辑] 参数

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

[编辑] 返回值

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

[编辑] 示例

[编辑] 缺陷报告

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

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

[编辑] 另请参阅

前进或后退基础迭代器
(公有成员函数) [编辑]