Namespaces
Variants

std::basic_string_view<CharT,Traits>:: operator[]

From cppreference.net
constexpr const_reference operator [ ] ( size_type pos ) const ;
(seit C++17)

Gibt eine konstante Referenz auf das Zeichen an der angegebenen Position pos zurück.

Wenn pos < size ( ) false ist, ist das Verhalten undefiniert.

(bis C++26)

Wenn pos < size ( ) false ist:

  • Wenn die Implementierung gehärtet ist, tritt eine Vertragsverletzung auf. Wenn der Vertragsverletzungs-Handler unter "observe"-Auswertungssemantik zurückkehrt, ist das Verhalten zudem undefiniert.
  • Wenn die Implementierung nicht gehärtet ist, ist das Verhalten undefiniert.
(seit C++26)

Inhaltsverzeichnis

Parameter

pos - Position des zurückzugebenden Zeichens

Rückgabewert

data_ [ pos ]

Ausnahmen

Wirft keine Ausnahme.

Komplexität

Konstante.

Hinweise

Im Gegensatz zu std::basic_string::operator[] gibt std :: basic_string_view :: operator [ ] ( size ( ) ) keine Referenz auf CharT ( ) zurück.

Beispiel

#include <iostream>
#include <string_view>
int main()
{
    std::string str = "Exemplar";
    std::string_view v = str;
    std::cout << v[2] << '\n';
//  v[2] = 'y'; // Error: cannot modify through a string view
    str[2] = 'y';
    std::cout << v[2] << '\n';
}

Ausgabe:

e
y

Siehe auch

greift auf das angegebene Zeichen mit Grenzprüfung zu
(öffentliche Elementfunktion)
greift auf das angegebene Zeichen zu
(öffentliche Elementfunktion von std::basic_string<CharT,Traits,Allocator> )