Namespaces
Variants

std::basic_string_view<CharT,Traits>:: remove_suffix

From cppreference.net
constexpr void remove_suffix ( size_type n ) ;
(начиная с C++17)

Перемещает конец представления назад на n символов.

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

(до C++26)

Если n > size ( ) равно true :

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

Содержание

Параметры

n - количество символов для удаления с конца представления

Сложность

Константа.

Пример

#include <iostream>
#include <string_view>
int main()
{
    char arr[] = {'a', 'b', 'c', 'd', '\0', '\0', '\0'};
    std::string_view v(arr, sizeof arr);
    auto trim_pos = v.find('\0');
    if (trim_pos != v.npos)
        v.remove_suffix(v.size() - trim_pos);
    std::cout << "Array: '" << arr << "', size=" << sizeof arr << '\n'
              << "View : '" << v << "', size=" << v.size() << '\n';
}

Вывод:

Array: 'abcd', size=7
View : 'abcd', size=4

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

уменьшает представление, перемещая его начало вперед
(публичная функция-член)