Namespaces
Variants

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

From cppreference.net
std::basic_string
CharT & back ( ) ;
(1) (constexpr начиная с C++20)
const CharT & back ( ) const ;
(2) (constexpr начиная с C++20)

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

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

(до C++26)

Если empty() возвращает true :

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

Содержание

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

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++.

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

Смотрите также

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