Spec-Zone.ru › C++

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

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

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

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

(до C++26)

Если empty() является true:

  • Если реализация усилена проверками, происходит нарушение контракта.
  • Если реализация не усилена проверками, поведение не определено.
(начиная с 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() добавлена

См. также

front
(DR*)
обращается к первому символу
(открытая функция-член)
back
обращается к последнему символу
(открытая функция-член 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/back

Spec-Zone.ru

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