Namespaces
Variants

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

来自 zh.cppreference.net
 
 
范围库
范围适配器
 
 
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++标准。

缺陷报告 适用范围 发布时行为 正确行为
LWG 3912 C++23 重载 (4) 未声明为 noexcept 应声明为 noexcept

参见

前进或后退底层迭代器
(公开成员函数)