Namespaces
Variants

std:: tuple_size <std::complex>

From cppreference.net
헤더 파일에 정의됨 <complex>
template < class T >

struct tuple_size < std:: complex < T >>

: std:: integral_constant < std:: size_t , 2 > { } ;
(C++26부터)

std::tuple_size std::complex 에 대한 부분 특수화는 튜플과 유사한 구문을 사용하여 complex 의 구성 요소 개수(항상 2 )를 컴파일 타임에 얻을 수 있는 방법을 제공합니다. 이는 구조화된 바인딩 지원을 위해 제공됩니다.

목차

std:: integral_constant 에서 상속됨

멤버 상수

value
[static]
상수 값 2
(public static member constant)

멤버 함수

operator std::size_t
객체를 std:: size_t 로 변환, value 반환
(public member function)
operator()
(C++14)
value 반환
(public member function)

멤버 타입

타입 정의
value_type std:: size_t
type std:: integral_constant < std:: size_t , value >

참고 사항

기능 테스트 매크로 표준 기능
__cpp_lib_tuple_like 202311L (C++26) std::complex 에 튜플 프로토콜 추가

예제

#include <complex>
static_assert(std::tuple_size_v<std::complex<float>> == 2);
static_assert([]
{
    using namespace std::literals;
    auto [re, im] = -1.5 + 2.5i;
    return re == -1.5 && im == 2.5;
}());
static_assert([]
{
    using namespace std::literals;
    auto z = std::complex<double>{};
    auto& [re, im] = z;
    re = 1.0;
    im = 2.0;
    return z == 1.0 + 2.0i;
}());
int main() {}

참고 항목

Structured binding (C++17) 지정된 이름들을 초기화자의 하위 객체나 튜플 요소에 바인딩합니다
(C++11)
튜플과 유사한 타입의 요소 개수를 얻습니다
(클래스 템플릿)
std::complex 의 기저 실수 및 허수부 숫자 타입을 얻습니다
(클래스 템플릿 특수화)
std::complex 에서 실수부나 허수부에 대한 참조를 얻습니다
(함수 템플릿)