Freigeben über


basic_string::at

Stellt mit einem angegebenen Index in einer Zeichenfolge einen Verweis auf das Zeichen.

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 die Zeichen der Zeichenfolge an der Position angegeben durch den Parameterindex.

Hinweise

Das erste Element der Zeichenfolge weist einen Index von null und die folgenden Elemente werden nacheinander durch die positive ganze Zahlen indiziert, um eine Zeichenfolge der Länge n eine n-te-Element, das von der Zahl n - 1. indiziert wird.

Der Member Operator [] ist schneller als die Memberfunktion bei zum Bereitstellen des Lese- und Schreibzugriffs auf Elemente einer Zeichenfolge.

Der Member operator[] überprüft nicht, ob der Index, der als Parameter übergeben wird, gültig ist, doch die Memberfunktion bei bewirkt und deshalb verwendet werden soll, wenn die Gültigkeit nicht sicher ist. Ein ungültiger Index, ein Index weniger ist, das oder größer oder gleich der Größe der Zeichenfolge anpassen auf null, an den Memberfunktions bei eine Ausnahme auslöst out_of_range Klasse. Ein ungültiger Index, der an operator[] übergeben wird, führt nicht definiertes Verhalten, der Index gleich der Zeichenfolgenlänge ist ein gültiger Index für const Zeichenfolgen und der Operator gibt das Nullzeichen zurück, wenn er diesen Index übergeben wird.

Der zurückgegebene Verweis wird durch Zeichenfolgenneuzuordnungen oder -Änderungen für Nicht- die 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;
}

Ausgabe

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: <Zeichenfolge>

Namespace: std

Siehe auch

Referenz

basic_string-Klasse