Udostępnij za pośrednictwem


basic_string::operator

Zawiera odwołanie do znaku z określonego indeksu w ciągu.

const_reference operator[](
   size_type _Off
) const;
reference operator[](
   size_type _Off
);

Parametry

  • _Off
    Indeks pozycji elementu, aby odwoływać się.

Wartość zwracana

Odwołanie do znaku ciągu pozycji określonej przez parametr indeks.

Uwagi

Pierwszy element ciągu ma indeks zero i następujące elementy są indeksowane kolejno przez dodatnich liczb całkowitych, tak aby ciąg o długości n ma nth element indeksowane przez liczbę n - 1.

**operator[]**jest szybsze niż funkcja Członkowskie na za dostarczanie odczytu i zapisu do elementów ciąg.

**operator[]**nie sprawdza, czy indeks przekazane jako parametr jest prawidłowy, ale funkcja Członkowskie na , a więc powinien być używany w ważności nie jest pewne.Nieprawidłowy indeks (indeks mniej zero lub większa niż lub równy rozmiarowi ciąg) przekazany do funkcji Członkowskich na wyrzuca out_of_range klasy wyjątku.Nieprawidłowy indeks przekazany do operator[] wyników w niezdefiniowane zachowanie, ale równa długości ciągu indeksu jest nieprawidłowy indeks ciągów const i operator zwraca znak null podczas tego indeksu.

Zwracane odwołanie może unieważnione przez ciąg przeniesieniom lub bez modyfikacji-const ciągów.

Podczas kompilowania z _SECURE_SCL 1, błąd wykonywania wystąpi, jeśli próba uzyskania dostępu do elementu poza granicami ciągu.Zobacz Iteratory zaznaczone Aby uzyskać więcej informacji.

Przykład

// basic_string_op_ref.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 of 8 in the const string cstr2 is: "
        << crefStr2 << "." << endl;
}

Dane wyjściowe

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 of 8 in the const string cstr2 is: n.

Wymagania

Nagłówek: <string>

Obszar nazw: std

Zobacz też

Informacje

basic_string Class