Строение строковых классов. Получение итераторов

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

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

  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 шаге.

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



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий