Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::tuple_element<std::complex>

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

      The partial specializations ofstd::tuple_element forstd::complex provide compile-time access to the underlying real and imaginary number type of acomplex, using tuple-like syntax. They are provided for structured binding support. The program is ill-formed ifI>=2.

      Contents

      [edit]Member types

      Member type Definition
      typeT

      [edit]Notes

      Feature-test macroValueStdFeature
      __cpp_lib_tuple_like202311L(C++26)Add tuple protocol tostd::complex

      [edit]Example

      Run this code
      #include <complex>#include <type_traits> static_assert([z=std::complex<float>()]{using T= decltype(z);return#if __cpp_lib_tuple_like >= 202311Lstd::is_same_v<std::tuple_element_t<0, T>,float>&&std::is_same_v<std::tuple_element_t<1, T>,float>&&#endifstd::is_same_v<T::value_type,float>;}()); int main(){}

      [edit]See also

      Structured binding(C++17) binds the specified names to sub-objects or tuple elements of the initializer[edit]
      obtains the element types of a tuple-like type
      (class template)[edit]
      obtains the size of astd::complex
      (class template specialization)[edit]
      obtains a reference to real or imaginary part from astd::complex
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/complex/tuple_element&oldid=174103"

      [8]ページ先頭

      ©2009-2025 Movatter.jp