Namespaces
Variants

std::basic_string<CharT,Traits,Allocator>:: back

From cppreference.net
std::basic_string
CharT & back ( ) ;
(1) (constexpr desde C++20)
const CharT & back ( ) const ;
(2) (constexpr desde C++20)

Devuelve una referencia al último carácter de la cadena.

Si empty() es true , el comportamiento es indefinido.

(hasta C++26)

Si empty() es true :

  • Si la implementación está protegida , ocurre una violación de contrato . Además, si el manejador de violación de contrato retorna bajo semántica de evaluación "observar", el comportamiento es indefinido.
  • Si la implementación no está protegida, el comportamiento es indefinido.
(desde C++26)

Contenidos

Valor de retorno

operator [ ] ( size ( ) - 1 )

Complejidad

Constante.

Notas

En libstdc++, back() está no disponible en modo C++98.

Ejemplo

#include <iostream>
#include <string>
int main()
{
    std::string s("Exemplary");
    char& back1 = s.back();
    back1 = 's';
    std::cout << s << '\n'; // "Exemplars"
    std::string const c("Exemplary");
    char const& back2 = c.back();
    std::cout << back2 << '\n'; // 'y'
}

Salida:

Exemplars
y

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 534 C++98 std::basic_string no tenía la función miembro back() añadida

Véase también

( DR* )
accede al primer carácter
(función miembro pública)
accede al último carácter
(función miembro pública de std::basic_string_view<CharT,Traits> )