operator+(std::move_iterator)
Определён в заголовочном файле <iterator> | ||
|---|---|---|
template< class Iter >
move_iterator<Iter> operator+
( typename move_iterator<Iter>::difference_type n,
const move_iterator<Iter>& it );
|
(начиная с C++11) (constexpr начиная с C++17) (до C++20) | |
template< class Iter >
constexpr move_iterator<Iter> operator+
( std::iter_difference_t<Iter> n, const move_iterator<Iter>& it );
| (начиная с C++20) |
Возвращает итератор it, увеличенный на n.
| Эта перегрузка участвует в разрешении перегрузки только в том случае, если | (начиная с C++20) |
Параметры
| n | - | количество позиций, на которое нужно увеличить итератор |
| it | - | адаптер итератора, который нужно увеличить |
Возвращаемое значение
it + n
Пример
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющих поведение, были применены задним числом к ранее опубликованным стандартам C++.
| Отчёт об ошибке | Применён к | Опубликованное поведение | Корректное поведение |
|---|---|---|---|
| LWG 3293 | C++20 | к нефункциональному operator+ предъявлялось ограничение требовать, чтобы it + n было корректным выражением и имело тип Iter | изменено наit.base() + n |
См. также
увеличивает или уменьшает move_iterator (открытая функция-член) |
|
|
(C++11) | вычисляет расстояние между двумя адаптерами итератора (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/iterator/move_iterator/operator%2B