Пространства имён
Варианты
Действия

std::advance

Материал из cppreference.com
< cpp‎ | iterator

 
 
Iterator библиотеки
Iterator примитивов
Оригинал:
Iterator primitives
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
iterator_traits
input_iterator_tag
output_iterator_tag
forward_iterator_tag
bidirectional_iterator_tag
random_access_iterator_tag
iterator
Iterator адаптеров
Оригинал:
Iterator adaptors
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
reverse_iterator
Поток итераторы
Оригинал:
Stream iterators
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
istream_iterator
ostream_iterator
istreambuf_iterator
ostreambuf_iterator
Iterator операций
Оригинал:
Iterator operations
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
advance
distance
prev(C++11)
next(C++11)
Диапазон доступа
Оригинал:
Range access
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
begin(C++11)
end(C++11)
 
Определено в заголовочном файле <iterator>
template< class InputIt, class Distance >
void advance( InputIt& it, Distance n );
Приращения данного итератора it по n элементы.
Оригинал:
Increments given iterator it by n elements.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Если n отрицательный, то итератор уменьшается. В этом случае, InputIt должны соответствовать требованиям BidirectionalIterator, в противном случае поведение не определено.
Оригинал:
If n is negative, the iterator is decremented. In this case, InputIt must meet the requirements of BidirectionalIterator, otherwise the behavior is undefined.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

[править] Параметры

it -
Итератор, чтобы быть продвинутым
Оригинал:
iterator to be advanced
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
n -
Число it элементы должны быть продвинутым
Оригинал:
number of elements it should be advanced
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Требования к типам
-
InputIt должен соответствовать требованиям InputIterator.

[править] Возвращаемое значение

(Нет)

[править] Сложность

Линейные.
Оригинал:
Linear.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Однако, если InputIt дополнительно соответствует требованиям RandomAccessIterator, сложность постоянно.
Оригинал:
However, if InputIt additionally meets the requirements of RandomAccessIterator, complexity is constant.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Пример

#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 Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(функция) [edit]