std::basic_string<CharT,Traits,Allocator>::front
Материал из cppreference.com
< cpp | string | basic string
(1) | ||
CharT& front(); | (до C++20) | |
constexpr CharT& front(); | (начиная с C++20) | |
(2) | ||
const CharT& front()const; | (до C++20) | |
constexprconst CharT& front()const; | (начиная с C++20) | |
Возвращает ссылку на первый символ строки. Поведение не определено, если empty() равно true.
Содержание |
[править]Параметры
(нет)
[править]Возвращаемое значение
Ссылка на первый символ, эквивалентная 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::stringconst c("Exemplary");charconst& f2 = c.front();std::cout<<&f2 <<'\n';// "Exemplary"}
Вывод:
exemplary Exemplary
[править]Отчёты о дефектах
Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:
Номер | Применён | Поведение в стандарте | Корректное поведение |
---|---|---|---|
LWG 534 | C++98 | std::basic_string не имеет функцию-элемент front() | добавлена |
[править]Смотрите также
(DR*) | получает доступ к последнему символу (public функция-элемент) |
(C++17) | предоставляет доступ к первому символу (public функция-элемент std::basic_string_view<CharT,Traits> ) |