std::basic_string<CharT,Traits,Allocator>:: operator[]
|
CharT
&
operator
[
]
(
size_type pos
)
;
|
(1) | (constexpr depuis C++20) |
|
const
CharT
&
operator
[
]
(
size_type pos
)
const
;
|
(2) | (constexpr depuis C++20) |
Retourne une référence à l'élément à la position spécifiée pos si pos < size ( ) , ou si pos == size ( ) :
|
Le comportement n'est pas défini. |
(until C++11) |
|
Retourne une référence vers CharT ( ) , si l'objet référencé par la référence retournée est modifié à une valeur autre que CharT ( ) , le comportement n'est pas défini. |
(since C++11) |
|
Si pos > size ( ) est true , le comportement est indéfini. |
(jusqu'à C++26) |
|
Si pos > size ( ) est true :
|
(depuis C++26) |
Table des matières |
Paramètres
| pos | - | position du caractère à retourner |
Valeur de retour
Complexité
Constante.
Exemple
#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'; // afficher en tant que chaîne C // Modifier le dernier caractère de s en 'y' std::string s("Exemplar "); s[s.size() - 1] = 'y'; // équivalent à s.back() = 'y'; std::cout << s << '\n'; }
Sortie :
rmx Exemplar Exemplary
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 259 | C++98 |
la surcharge
(
1
)
pouvait retourner une lvalue const
data ( ) [ pos ] , ce qui était mal formé |
modifié pour retourner
* ( begin ( ) + pos ) |
| LWG 2475 | C++11 |
si
pos
==
size
(
)
, le comportement de modification de
l'objet référencé par la référence retournée était indéfini |
bien défini si
modifié en CharT ( ) |
Voir aussi
|
accède au caractère spécifié avec vérification des limites
(fonction membre publique) |
|
|
(
DR*
)
|
accède au premier caractère
(fonction membre publique) |
|
(
DR*
)
|
accède au dernier caractère
(fonction membre publique) |
|
accède au caractère spécifié
(fonction membre publique de
std::basic_string_view<CharT,Traits>
)
|