Шаг 407.
Библиотека STL.
Строение строковых классов. Получение итераторов

    На этом шаге мы перечислим методы, используемые для получения итераторов.

    Для выполнения указанных действий можно воспользоваться следующими методами:

  iterator string::begin () 
  const iterator string::begin () const
Обе формы возвращают итератор произвольного доступа, установленный в начало строки (в позицию первого символа).

    Для пустой строки вызов begin() эквивалентен вызову end().

  iterator string::end () 
  const_iterator string::end () const
Обе формы возвращают итератор произвольного доступа, установленный в конец строки (в позицию за последним символом).

    Символ в позиции end() не определен, поэтому конструкции вида *s.end() приводят к непредсказуемым последствиям.

    Для пустой строки вызов end() эквивалентен вызову begin().

  reverse_iterator string::rbegin () 
  const_reverse_iterator string::rbegin () const
Обе формы возвращают итератор произвольного доступа, установленный в позицию начала перебора строки в обратном направлении (то есть в позицию последнего символа).

    Для пустой строки вызов rbegin() эквивалентен вызову rend().

  reverse_iterator string::rend () 
  const_reverse_iterator string::rend() const
Обе формы возвращают итератор произвольного доступа, установленный в позицию конца перебора строки в обратном направлении (в позицию перед первым символом).

    Символ в позиции rend() не определен, поэтому конструкции вида *s.rend() приводят к непредсказуемым последствиям.

    Для пустой строки вызов rend() эквивалентен вызову rbegin().

    Обратные итераторы описаны на 219 шаге.

    На следующем шаге мы рассмотрим поддержку распределителей памяти.




Предыдущий шаг Содержание Следующий шаг