Spec-Zone.ru › C++

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

CharT& front();
(1) (constexpr начиная с C++20)
const CharT& front() const;
(2) (constexpr начиная с C++20)

Возвращает ссылку на первый символ строки.

Если empty() равно true, поведение не определено.

(до C++26)

Если empty() равно true:

  • Если реализация защищена, происходит нарушение контракта.
  • Если реализация не защищена, поведение не определено.
(начиная с C++26)

Возвращаемое значение

operator[](0)

Сложность

Постоянная.

Примечания

В libstdc++ front() недоступен в режиме C++98.

Пример

#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"
}

Вывод:

exemplary
Exemplary

Отчёты об ошибках

Следующие отчёты об ошибках, изменяющие поведение, были ретроактивно применены к ранее опубликованным стандартам C++.

DR Применяется к Опубликованное поведение Правильное поведение
LWG 534 C++98 std::basic_string не имел функции-члена front() добавлена

См. также

back
(DR*)
обращается к последнему символу
(открытая функция-член)
front
обращается к первому символу
(открытая функция-член std::basic_string_view<CharT,Traits>)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/basic_string/front

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API