最終更新日時(UTC): 2024年06月11日 13時45分38秒
Akira Takahashi が更新

履歴 編集

function
<string>

# std::basic_string::ends_with(C++20)

    constexpr bool
      ends_with(std::basic_string_view<charT, traits> x) const noexcept; // (1) C++20
    constexpr bool
      ends_with(charT x) const noexcept;                                 // (2) C++20
    constexpr bool
      ends_with(const charT* x) const;                                   // (3) C++20

## 概要

指定の文字列で終わるかを判定する。

- (1) : `*this`が保持する文字列の末尾が、`x`が参照する文字列範囲と一致するかを判定する
- (2) : `*this`が保持する文字列の末尾が、文字`x`と一致するかを判定する
- (3) : `*this`が保持する文字列の末尾が、文字列`x`と一致するかを判定する

## 戻り値

以下と等価である：

    return std::basic_string_view<CharT, Traits>(data(), size()).ends_with(x);

## 例外

- (1), (2) : 投げない

## 例

    #include <cassert>
    #include <string>

    int main()
    {
      const std::string s = "aaabbbcccdddeee";

      // (1)
      {
        std::string_view sv = "eee";
        assert(s.ends_with(sv));
      }

      // (2)
      {
        assert(s.ends_with('e'));
      }

      // (3)
      {
        assert(s.ends_with("eee"));
      }
    }

### 出力

## バージョン

### 言語

- C++20

### 処理系

- Clang: 7.0 ✅
- GCC: 9.1 ✅
- Visual C++: 2019 update 1 ✅

## 参照

- P0457R2 String Prefix and Suffix Checking
- P0980R1 Making `std::string` constexpr