Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      deduction guides forstd::basic_string_view

      From cppreference.com
      <cpp‎ |string‎ |basic string view
       
       
       
      std::basic_string_view
       
      Defined in header<string_view>
      template<class It,class End>
      basic_string_view( It, End)-> basic_string_view<std::iter_value_t<It>>;
      (1)(since C++20)
      template<class R>
      basic_string_view( R&&)-> basic_string_view<ranges::range_value_t<R>>;
      (2)(since C++23)

      Thesededuction guides are provided forstd::basic_string_view.

      1) This deduction guide allow the character type to be deduced from the iterator-sentinel pair. This overload participates in overload resolution only ifIt satisfiescontiguous_iterator andEnd satisfiessized_sentinel_for forIt.
      2) This deduction guide allow the character type to be deduced from the range. This overload participates in overload resolution only ifR satisfiescontiguous_range.

      [edit]Example

      Run this code
      #include <array>#include <iostream>#include <string_view> int main(){std::array a1{'n','u','c','l','e','o','n','s',':','\n'};std::basic_string_view s1(a1.cbegin(), a1.cend());// deduction: CharT -> char    static_assert(std::is_same_v<decltype(s1)::value_type,char>);std::cout<< s1; std::array a2{L'p', L'r', L'o', L't', L'o', L'n', L's', L'\n'};std::basic_string_view s2(a2.cbegin(), a2.cend());// deduction: CharT -> wchar_t    static_assert(std::is_same_v<decltype(s2)::value_type,wchar_t>);std::wcout<< s2; std::array<long,9> a3{'n','e','u','t','r','o','n','s','\n'};std::basic_string_view s3(a3.cbegin(), a3.cend());// deduction: CharT -> long    static_assert(std::is_same_v<decltype(s3)::value_type,long>);for(constauto e: s3)std::cout<<static_cast<char>(e);}

      Output:

      nucleons:protonsneutrons
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/string/basic_string_view/deduction_guides&oldid=153328"

      [8]ページ先頭

      ©2009-2025 Movatter.jp