Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::tuple_element<std::array>

      From cppreference.com
      <cpp‎ |container‎ |array
       
       
       
       
      Defined in header<array>
      template<std::size_t I,class T,std::size_t N>
      struct tuple_element< I,std::array<T, N>>;
      (since C++11)

      Provides compile-time indexed access to the type of the elements of the array using tuple-like interface.

      Contents

      [edit]Member types

      Member type Definition
      type the type of elements of the array

      [edit]Possible implementation

      template<std::size_t I,class T>struct tuple_element; template<std::size_t I,class T,std::size_t N>struct tuple_element<I,std::array<T,N>>{using type= T;};

      [edit]Example

      Run this code
      #include <array>#include <tuple>#include <type_traits> int main(){// define array and get the type of the element at position 0std::array<int,10> data{0,1,2,3,4,5,6,7,8,9};using T=std::tuple_element<0, decltype(data)>::type;// int    static_assert(std::is_same_v<T,int>); constauto const_data= data;using CT=std::tuple_element<0, decltype(const_data)>::type;// const int // the result of tuple_element depends on the cv-qualification of the tuple-like type    static_assert(!std::is_same_v<T, CT>);    static_assert(std::is_same_v<CT,constint>);}

      [edit]See also

      Structured binding(C++17) binds the specified names to sub-objects or tuple elements of the initializer[edit]
      obtains the type of the specified element
      (class template specialization)[edit]
      obtains the type of the elements ofpair
      (class template specialization)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/container/array/tuple_element&oldid=165130"

      [8]ページ先頭

      ©2009-2025 Movatter.jp