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 |
参见
|
前进或后退底层迭代器
(公开成员函数) |