Namespaces
Variants

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

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

Recule la fin de la vue de n caractères.

Si n > size ( ) est true , le comportement est indéfini.

(jusqu'en C++26)

Si n > size ( ) est true :

  • Si l'implémentation est durcie , une violation de contrat se produit. De plus, si le gestionnaire de violation de contrat retourne sous la sémantique d'évaluation "observer", le comportement est indéfini.
  • Si l'implémentation n'est pas durcie, le comportement est indéfini.
(depuis C++26)

Table des matières

Paramètres

n - nombre de caractères à supprimer de la fin de la vue

Complexité

Constante.

Exemple

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

Sortie :

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

Voir aussi

réduit la vue en déplaçant son début vers l'avant
(fonction membre publique)