Namespaces
Variants

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

From cppreference.net
constexpr void remove_suffix ( size_type n ) ;
(desde C++17)

Mueve el final de la vista hacia atrás por n caracteres.

Si n > size ( ) es true , el comportamiento es indefinido.

(hasta C++26)

Si n > size ( ) es true :

  • Si la implementación está reforzada , ocurre una violación de contrato . Además, si el manejador de violación de contrato retorna bajo semántica de evaluación "observar", el comportamiento es indefinido.
  • Si la implementación no está reforzada, el comportamiento es indefinido.
(desde C++26)

Contenidos

Parámetros

n - número de caracteres a eliminar del final de la vista

Complejidad

Constante.

Ejemplo

#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';
}

Salida:

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

Véase también

reduce la vista moviendo su inicio hacia adelante
(función miembro pública)