std::basic_string<CharT,Traits,Allocator>:: operator[]
|
CharT
&
operator
[
]
(
size_type pos
)
;
|
(1) | (constexpr desde C++20) |
|
const
CharT
&
operator
[
]
(
size_type pos
)
const
;
|
(2) | (constexpr desde C++20) |
Devuelve una referencia al carácter en la posición especificada pos si pos < size ( ) , o si pos == size ( ) :
|
El comportamiento no está definido. |
(until C++11) |
|
Retorna una referencia a CharT ( ) , si el objeto referido por la referencia retornada es modificado a cualquier valor diferente de CharT ( ) , el comportamiento no está definido. |
(since C++11) |
|
Si pos > size ( ) es true , el comportamiento es indefinido. |
(hasta C++26) |
|
Si pos > size ( ) es true :
|
(desde C++26) |
Contenidos |
Parámetros
| pos | - | posición del carácter a devolver |
Valor de retorno
Complejidad
Constante.
Ejemplo
#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'; // imprimir como cadena C // Cambiar el último carácter de s por una 'y' std::string s("Exemplar "); s[s.size() - 1] = 'y'; // equivalente a s.back() = 'y'; std::cout << s << '\n'; }
Salida:
rmx Exemplar Exemplary
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 259 | C++98 |
la sobrecarga
(
1
)
podría devolver un lvalue const
data ( ) [ pos ] , lo cual estaba mal formado |
cambiado para devolver
* ( begin ( ) + pos ) |
| LWG 2475 | C++11 |
si
pos
==
size
(
)
, el comportamiento de modificar el
objeto referenciado por la referencia devuelta no estaba definido |
bien definido si
modificado a CharT ( ) |
Véase también
|
accede al carácter especificado con verificación de límites
(función miembro pública) |
|
|
(
DR*
)
|
accede al primer carácter
(función miembro pública) |
|
(
DR*
)
|
accede al último carácter
(función miembro pública) |
|
accede al carácter especificado
(función miembro pública de
std::basic_string_view<CharT,Traits>
)
|