std::basic_string<CharT,Traits,Allocator>::back
Материал из cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><tbody>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><tbody>
</tbody>
| (1) | ||
CharT& back(); |
(до C++20) | |
constexpr CharT& back(); |
(начиная с C++20) | |
| (2) | ||
const CharT& back() const; |
(до C++20) | |
constexpr const CharT& back() const; |
(начиная с C++20) | |
Возвращает ссылку на последний символ строки. Поведение не определено, если empty() равно true.
Параметры
(нет)
Возвращаемое значение
Ссылка на последний символ, эквивалентная operator[](size() - 1).
Сложность
Константная.
Примечание
В libstdc++, back() недоступена в режиме C++98.
Пример
Запустить этот код
#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'
}
Вывод:
Exemplars
y
Отчёты о дефектах
Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:
| Номер | Применён | Поведение в стандарте | Корректное поведение |
|---|---|---|---|
| LWG 534 | C++98 | std::basic_string не имеет функцию-элемент back()
|
добавлена |
Смотрите также
(DR*) |
получает доступ к первому символу (public функция-элемент) |
(C++17) |
предоставляет доступ к последнему символу (public функция-элемент std::basic_string_view<CharT,Traits>)
|