Метод begin
Метод begin возвращает итератор, указывающий
на первый символ строки. Сама строка при этом
не изменяется. Метод не принимает параметров.
Итератор можно использовать для доступа к символам
строки, а также для перебора всех её символов
в цикле.
Следует помнить, что если строка пуста, то
итератор, возвращаемый методом begin,
будет равен итератору, возвращаемому методом
end. Не следует разыменовывать такой
итератор.
Синтаксис
str.begin()
Пример
Давайте получим итератор на первый символ строки и выведем этот символ на экран:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "abcde";
string::iterator it = str.begin();
cout << *it << endl;
return 0;
}
Результат выполнения кода:
"'a'"
Пример
Давайте изменим первый символ строки через
итератор, полученный методом begin:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "abcde";
string::iterator it = str.begin();
*it = 'X';
cout << str << endl;
return 0;
}
Результат выполнения кода:
"Xbcde"
Пример
Давайте переберём все символы строки в цикле,
используя итераторы begin и end:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "abcde";
for (string::iterator it = str.begin(); it != str.end(); ++it) {
cout << *it << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
"'a' 'b' 'c' 'd' 'e'"