std::advance
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google.
Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы |
| Определён в заголовочном файле <iterator>
|
||
| template< class InputIt, class Distance > void advance( InputIt& it, Distance n ); |
||
Смещение итератора it на n элементов.
Если значение n отрицальное, то итератор смещается в сторону уменьшения. В этом случае InputIt должен соответствовать требованиям BidirectionalIterator, в противном случае поведение не определено.
Содержание |
[править] Параметры
| it | — | Итератор, чтобы быть продвинутым
Оригинал: iterator to be advanced Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
| n | — | Число
it элементы должны быть продвинутымОригинал: number of elements it should be advancedТекст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
| Требования к типам | ||
-InputIt должен соответствовать требованиям InputIterator.
| ||
[править] Возвращаемое значение
(Нет)
[править] Сложность
Линейная.
Оригинал:
Linear.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Однако, если
InputIt дополнительно соответствует требованиям RandomAccessIterator, сложность константна.Оригинал:
However, if
InputIt additionally meets the requirements of RandomAccessIterator, complexity is constant.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Пример
Запустить этот код
#include <iostream> #include <iterator> #include <vector> int main() { std::vector<int> v{ 3, 1, 4 }; auto vi = v.begin(); std::advance(vi, 2); std::cout << *vi << '\n'; }
Вывод:
4
[править] См. также
| возвращает расстояние между двумя итераторами Оригинал: returns the distance between two iterators Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |

