# operator+,-(ranges::elements_view::iterator)

< cpp‎ | ranges‎ | elements view‎ | iterator

friend constexpr /*iterator*/ operator+( const /*iterator*/& i, difference_type n ) requires ranges::random_access_range<Base>; | (1) | (C++20 起)
friend constexpr /*iterator*/ operator+( difference_type n, const /*iterator*/& i ) requires ranges::random_access_range<Base>; | (2) | (C++20 起)
friend constexpr /*iterator*/ operator-( const /*iterator*/& i, difference_type n ) requires ranges::random_access_range<Base>; | (3) | (C++20 起)
friend constexpr difference_type operator-( const /*iterator*/& x, const /*iterator*/& y ) requires std::sized_sentinel_for<ranges::iterator_t<Base>, ranges::iterator_t<Base>>; | (4) | (C++20 起)

1,2) 返回增加 `n` 的迭代器 `i` 。
3) 返回减少 `n` 的迭代器 `i`
4) 返回 `x` 与 `y` 之间的距离。

这些函数对通常无限定或有限定查找不可见，而只能在 `elements_view::iterator<Const>` 为参数的关联类时由实参依赖查找找到。

### 参数

i, x, y | - | 迭代器
n | - | 相对于当前位置的位置

### 返回值

1-2) [&]{ auto j = i; j += n; return j; }()
3) [&]{ auto j = i; j -= n; return j; }()
4) x.base() - y.base()

### 示例

| 本节未完成 原因：暂无示例