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 の場合:

  • 実装が hardened されている場合、 contract violation が発生します。さらに、契約違反ハンドラが "observe" 評価セマンティクスで戻った場合、動作は未定義です。
  • 実装が hardened されていない場合、動作は未定義です。
(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

関連項目

ビューの開始位置を前方に移動して縮小する
(公開メンバ関数)