std::basic_string<CharT,Traits,Allocator>::operator[]
Aus de.cppreference.net
CharT& operator[]( size_type pos );
|
(1) | (constexpr seit C++20) |
const CharT& operator[]( size_type pos ) const;
|
(2) | (constexpr seit C++20) |
Gibt eine Referenz auf das Zeichen an der angegebenen Position pos zurück, falls pos < size(), oder falls pos == size():
1)
|
Das Verhalten ist undefiniert. |
(bis C++11) |
|
Gibt eine Referenz auf |
(seit C++11) |
2) Gibt eine Referenz auf
CharT() zurück.|
Falls |
(bis C++26) |
|
Falls
|
(seit C++26) |
Parameter
| pos | - | Position des zurückzugebenden Zeichens |
Rückgabewert
1)
*
(
begin
(
)
+
pos
)
falls
pos
<
size
(
)
, oder eine Referenz auf
CharT
(
)
falls
pos
==
size
(
)
(seit C++11)
.
2)
*
(
begin
(
)
+
pos
)
falls
pos
<
size
(
)
, oder eine Referenz auf
CharT
(
)
falls
pos
==
size
(
)
.
Komplexität
Konstante.
Beispiel
Diesen Code ausführen
#include <iostream> #include <string> int main() { const std::string e("Exemplar"); for (unsigned i = e.length() - 1; i != 0; i /= 2) std::cout << e[i]; std::cout << '\n'; const char* c = &e[0]; std::cout << c << '\n'; // print as a C string // Change the last character of s into a 'y' std::string s("Exemplar "); s[s.size() - 1] = 'y'; // equivalent to s.back() = 'y'; std::cout << s << '\n'; }
Ausgabe:
rmx Exemplar Exemplary
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 259 | C++98 |
Überladung
(
1
)
konnte const L-Wert zurückgeben
data ( ) [ pos ] , was fehlerhaft war |
geändert zur Rückgabe von
* ( begin ( ) + pos ) |
| LWG 2475 | C++11 |
falls
pos
==
size
(
)
, war das Verhalten bei Modifikation des
durch die Referenz referenzierten Objekts undefiniert |
wohldefiniert falls
modifiziert zu CharT ( ) |
Siehe auch
|
greift auf das angegebene Zeichen mit Grenzprüfung zu
(öffentliche Elementfunktion) |
|
|
(
DR*
)
|
greift auf das erste Zeichen zu
(öffentliche Elementfunktion) |
|
(
DR*
)
|
greift auf das letzte Zeichen zu
(öffentliche Elementfunktion) |
|
greift auf das angegebene Zeichen zu
(öffentliche Elementfunktion von
std::basic_string_view<CharT,Traits>
)
|