Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::tuple_size<std::tuple>

      From cppreference.com
      <cpp‎ |utility‎ |tuple
       
       
      Utilities library
       
       
      Defined in header<tuple>
      template<class...Types>

      struct tuple_size<std::tuple<Types...>>

         :std::integral_constant<std::size_t, sizeof...(Types)>{};
      (since C++11)

      Provides access to the number of elements in a tuple as a compile-time constant expression.

      Contents

      [edit]Helper variable template

      template<class T>
      constexprstd::size_t tuple_size_v= tuple_size<T>::value;
      (since C++17)

      Inherited fromstd::integral_constant

      Member constants

      value
      [static]
      sizeof...(Types)
      (public static member constant)

      Member functions

      operator std::size_t
      converts the object tostd::size_t, returnsvalue
      (public member function)
      operator()
      (C++14)
      returnsvalue
      (public member function)

      Member types

      Type Definition
      value_typestd::size_t
      typestd::integral_constant<std::size_t, value>

      [edit]Example

      Run this code
      #include <iostream>#include <tuple> template<class T>void test(T value){int a[std::tuple_size_v<T>];// can be used at compile time std::cout<<std::tuple_size<T>{}<<' '// or at run time<< sizeof a<<' '<< sizeof value<<'\n';} int main(){    test(std::make_tuple(1,2,3.14));}

      Possible output:

      3 12 16

      [edit]See also

      Structured binding(C++17) binds the specified names to sub-objects or tuple elements of the initializer[edit]
      (C++11)
      obtains the number of elements of a tuple-like type
      (class template)[edit]
      obtains the size of apair
      (class template specialization)[edit]
      obtains the size of anarray
      (class template specialization)[edit]
      obtains the size of astd::ranges::subrange
      (class template specialization)[edit]
      tuple accesses specified element
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/utility/tuple/tuple_size&oldid=176454"

      [8]ページ先頭

      ©2009-2025 Movatter.jp