GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • cpprefjp - C++日本語リファレンス
  • GitHub Project

This view

  • Original page
  • New address

GeezerVison is showing cpprefjp.github.io — std::basic_string_view::推論補助 - cpprefjp C++日本語リファレンス

  1. リファレンス
  2. string_view
  3. basic_string_view
  4. 推論補助

最終更新日時: 2026年09月19日 21時31分51秒 (JST)
rotarymars が更新

履歴 編集

<string_view>

std::basic_string_view::推論補助(C++20)

namespace std {
  template <class It, class End>
  basic_string_view(It, End)
    -> basic_string_view<iter_value_t<It>>;          // (1) C++20

  template<class R>
  basic_string_view(R&&)
    -> basic_string_view<ranges::range_value_t<R>>;  // (2) C++23
}

概要

std::basic_string_viewクラステンプレートの型推論補助。イテレータ範囲やレンジから推論する。

テンプレートパラメータ制約

  • (1) :
    • Itはcontiguous_iteratorの要件を満たすこと
    • Endはsized_sentinel_for<It>の要件を満たすこと
  • (2) :
    • Rはranges::contiguous_rangeの要件を満たすこと

例

#include <iostream>
#include <string_view>
#include <string>

int main()
{
  std::string s = "Hello";
  std::basic_string_view sv{s.begin(), s.end()};
  std::cout << sv << std::endl;
}

出力

Hello

バージョン

言語

  • C++20

処理系

  • Clang: 14.0.6 ✅
  • GCC: 10.1 ✅
  • Visual C++: ??

関連項目

  • C++17 クラステンプレートのテンプレート引数推論

参照

  • P1391R4 Range constructor for std::string_view
  • P1989R2 Range constructor for std::string_view 2: Constrain Harder
    • C++23での、レンジ版推論補助追加
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.