basic_string::at
Stellt einen Verweis auf das Zeichen mit einem angegebenen Index in einer Zeichenfolge.
const_reference at(
size_type _Off
) const;
reference at(
size_type _Off
);
Parameter
- _Off
Der Index der Position des Elements verwiesen werden.
Rückgabewert
Ein Verweis auf Zeichen der Zeichenfolge in der Position angegeben durch den Parameterindex.
Hinweise
Das erste Element der Zeichenfolge hat einen Index von null und die folgenden Elemente werden nacheinander durch die positiven ganzen Zahlen indiziert, damit eine Zeichenfolge der Länge n ein n-te-Element, das durch die Zahl n - 1. indiziert wird.
Der Member Operator [] ist schneller als die Memberfunktion at zum Bereitstellen des Schreibzugriffs Lese- und auf Elemente einer Zeichenfolge.
Der Member operator[] überprüft nicht, ob der Index, der als Parameter übergeben wird, gültig ist, aber die Memberfunktion at ausführt und deshalb verwendet werden soll, wenn die Gültigkeit nicht sicher ist.Ein ungültiger Index, der ein Index geringer, das oder größer oder gleich der Größe der Zeichenfolge auf null anpassen, an die Memberfunktion atout_of_range-Klasse löst eine Ausnahme aus.Ein ungültiger Index, der zu operator[] übergeben wird, wird nicht definiertes Verhalten, aber der Index gleich der Länge der Zeichenfolge ist ein gültiger Index für const Zeichenfolgen und der Operator gibt das NULL-Zeichen zurück, wenn er diesem Index übergeben wird.
Der zurückgegebene Verweis wird durch Zeichenfolgenneuzuordnungen oder -Änderungen für die Nicht --const Zeichenfolgen ungültig gemacht werden.
Beispiel
// 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.
Anforderungen
Header: <string>
Namespace: std