end
Синтаксис:
#include <string> iterator end(); const_iterator end() const;
Функция end() возвращает итератор на символ, следующий за концом строки. Обратите внимание, что прежде чем вы захотите получить доступ к последнему элементу строки, используя итератор, полученный из функции end(), вам сначала нужно уменьшить этот итератор на 1.
Например, следующий код использует begin() и end() , чтобы пройти по всем символам строки:
string s1("ABCDEF"); string::iterator it; for( it = s1.begin(); it != s1.end(); ++it ) { cout << *it << endl; }
Итератор инициализируется с помощью вызова функции begin(). После того, как выполнилось тело цикла, итератор увеличивается на 1 и проверяется, равен ли он результату функции end(). Так как end() возвращает итератор, указывающий на элемент, стоящий сразу за последним элементом вектора, цикл остановится только когда будут просмотрены все элементы строки.
end() работает за константное время.