Метод at
Метод at класса string возвращает
ссылку на символ строки, расположенный по
указанной позиции. В отличие от оператора
[], метод at выполняет проверку
границ: если позиция выходит за пределы строки,
генерируется исключение std::out_of_range.
В первый параметр мы передаем позицию символа,
который хотим получить. Нумерация начинается
с 0.
Синтаксис
str.at(pos)
Пример
Давайте получим символ строки, расположенный
по позиции 2 (третий символ):
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "abcde";
cout << str.at(2) << endl;
return 0;
}
Результат выполнения кода:
"c"
Пример
Метод at возвращает ссылку на символ,
поэтому через него можно изменять строку:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "abcde";
str.at(1) = 'X';
cout << str << endl;
return 0;
}
Результат выполнения кода:
"aXcde"
Пример
Давайте попробуем обратиться к позиции
10, которая выходит за пределы строки
длиной 5. Метод at сгенерирует
исключение:
#include <iostream>
#include <string>
#include <stdexcept>
using namespace std;
int main()
{
string str = "abcde";
try
{
cout << str.at(10) << endl;
}
catch (const out_of_range& e)
{
cout << "Error: " << e.what() << endl;
}
return 0;
}
Результат выполнения кода:
"Error: basic_string::at"