std::reverse_iterator
![]() |
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в испра��лении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
Определено в заголовочном файле <iterator>
|
||
template< class Iterator > class reverse_iterator : public std::iterator< |
||
std::reverse_iterator
это итератор, адаптер, который меняет направление данного итератора. Иными словами, при обеспечении двунаправленный итератор, std::reverse_iterator
создает новый итератор, который перемещается от конца к началу последовательности, определенной основной двунаправленный итератор.std::reverse_iterator
is an iterator adaptor that reverses the direction of a given iterator. In other words, when provided with a bidirectional iterator, std::reverse_iterator
produces a new iterator that moves from the end to the beginning of the sequence defined by the underlying bidirectional iterator.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
r
итератора построена из итератора i
, отношения &*r == &*(i-1) всегда является истиной, таким образом, обратный итератор построены из одного пришедшего к концу разыменовывает итератор на последний элемент в последовательности. r
constructed from an iterator i
, the relationship &*r == &*(i-1) is always true; thus a reverse iterator constructed from a one-past-the-end iterator dereferences to the last element in a sequence. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
rbegin()
и rend()
стандартных контейнеров библиотеки.rbegin()
and rend()
of the standard library containers.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Содержание |
[править] Типы-члены
Тип члена | Определение |
iterator_type
|
Iterator
|
difference_type
|
std::iterator_traits<Iterator>::difference_type |
pointer
|
std::iterator_traits<Iterator>::pointer |
reference
|
std::iterator_traits<Iterator>::reference |
[править] Функции-члены
создает новый адаптер итератора Оригинал: constructs a new iterator adaptor Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
назначает другого итератора Оригинал: assigns another iterator Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
доступ к основной итератор Оригинал: accesses the underlying iterator Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
получает доступ к элементу по указателю (public функция-элемент) | |
обращается к элементу по индексу (public функция-элемент) | |
увеличивает или уменьшает итератор (public функция-элемент) |
[править] Член объектов
Имя пользователя
Оригинал: Member name Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
Definition |
current (защищены)
|
копию итератора базу ()
Оригинал: a copy of the base() iterator Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
std::reverse_iterator
имеет уменьшается копию основного итератора, который используется в разыменования.std::reverse_iterator
holds a decremented copy of the underlying iterator, which is used in dereferencing.Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Функции, не являющиеся членами
сравнивает базовые итераторы (шаблон функции) | |
перемещает итератор Оригинал: advances the iterator Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | |
вычисляет расстояние между двумя адаптерами итераторов Оригинал: computes the distance between two iterator adaptors Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) |
[править] Типы элементы
Тип элемент | Определение |
iterator_category
|
std::iterator_traits<Iterator>::iterator_category |
value_type
|
std::iterator_traits<Iterator>::value_type |
difference_type
|
std::iterator_traits<Iterator>::difference_type |
pointer
|
std::iterator_traits<Iterator>::pointer |
reference
|
std::iterator_traits<Iterator>::reference |
Типы элемены |
(до C++17) |
[править] Пример
#include <iostream> #include <string> #include <iterator> int main() { std::string s = "Hello, world"; std::reverse_iterator<std::string::iterator> r = s.rbegin(); r[7] = 'O'; // replaces 'o' with 'O' r += 7; // iterator now points at 'O' std::string rev(r, s.rend()); std::cout << rev << '\n'; }
Вывод:
OlleH
[править] См. также
(устарело в C++17) |
базовый класс для упрощения определения требуемых типов для простых итераторов (шаблон класса) |