basic_string::at
Предоставляет ссылку на символ с указанным индексом в строке.
const_reference at(
size_type _Off
) const;
reference at(
size_type _Off
);
Параметры
- _Off
Индекс позиции элемента, на которую.
Возвращаемое значение
Ссылку на символ в позиции строки указанной индексом параметра.
Заметки
Первый элемент с нуля индекс строки и следующие элементы индексируются последовательно положительным целым числом, чтобы строка длины n будет иметь nth элемент индексный числом n – 1.
Элемент operator[] быстрее, чем функцию-член at для прочитанного предоставляемые и записи к элементам строки.
Член operator[] не проверяет, является ли индекс передан как параметр допустим, но функцию-член at выполняет и поэтому должен использоваться, если допустимость не обязательно. Недопустимый индекс, что индекс менее, ноль или более больше или равно размеру строки, переданный в функцию-член at создает исключение класс out_of_range. Недопустимый индекс, переданный operator[] приводит к тому, что не указанного расширения функциональности, но индекс равный с длиной строки допустимый индекс для строк const и оператор возвращает нуль-символ, этим индексом.
Возвращаемая ссылка может быть аннулированы перераспределениями или изменениями строки, для строк const.
Пример
// basic_string_at.cpp
// compile with: /EHsc
#include <string>
#include <iostream>
int main( )
{
using namespace std;
string str1 ( "Hello world" ), str2 ( "Goodbye world" );
const string cstr1 ( "Hello there" ), cstr2 ( "Goodbye now" );
cout << "The original string str1 is: " << str1 << endl;
cout << "The original string str2 is: " << str2 << endl;
// Element access to the non const strings
basic_string <char>::reference refStr1 = str1 [6];
basic_string <char>::reference refStr2 = str2.at ( 3 );
cout << "The character with an index of 6 in string str1 is: "
<< refStr1 << "." << endl;
cout << "The character with an index of 3 in string str2 is: "
<< refStr2 << "." << endl;
// Element access to the const strings
basic_string <char>::const_reference crefStr1 = cstr1 [ cstr1.length ( ) ];
basic_string <char>::const_reference crefStr2 = cstr2.at ( 8 );
if ( crefStr1 == '\0' )
cout << "The null character is returned as a valid reference."
<< endl;
else
cout << "The null character is not returned." << endl;
cout << "The character with index 8 in the const string cstr2 is: "
<< crefStr2 << "." << endl;
}
Output
The original string str1 is: Hello world
The original string str2 is: Goodbye world
The character with an index of 6 in string str1 is: w.
The character with an index of 3 in string str2 is: d.
The null character is returned as a valid reference.
The character with index 8 in the const string cstr2 is: n.
Требования
Заголовок:<string>
Пространство имен: std