Namespaces
Variants

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

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

Devuelve una referencia al primer 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á hardened , ocurre una contract violation . Además, si el manejador de violación de contrato retorna bajo semántica de evaluación "observe", el comportamiento es indefinido.
  • Si la implementación no está hardened, el comportamiento es indefinido.
(desde C++26)

Contenidos

Valor de retorno

operator [ ] ( 0 )

Complejidad

Constante.

Notas

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

Ejemplo

#include <iostream>
#include <string>
int main()
{
    std::string s("Exemplary");
    char& f1 = s.front();
    f1 = 'e';
    std::cout << s << '\n'; // "exemplary"
    std::string const c("Exemplary");
    char const& f2 = c.front();
    std::cout << &f2 << '\n'; // "Exemplary"
}

Salida:

exemplary
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 534 C++98 std::basic_string no tenía la función miembro front() añadida

Véase también

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