다음을 통해 공유


integral_constant 클래스, bool_constant 클래스

형식 및 값에서 정수 계열 상수를 만듭니다.

구문

template<class T, T v>
struct integral_constant {
   static constexpr T value = v;
   typedef T value_type;
   typedef integral_constant<T, v> type;
   constexpr operator value_type() const noexcept;
   constexpr value_type operator()() const noexcept;
   };

매개 변수

T
상수의 형식입니다.

v
상수의 값입니다.

설명

클래스 템플릿은 integral_constant 정수 계열 형식 T 및 해당 형식의 값 v로 특수화된 경우 지정된 값을 가진 정수 계열 형식의 상수를 포함하는 개체를 나타냅니다. type이라는 멤버는 생성된 템플릿 특수화 형식에 대한 별칭이고, value 멤버는 특수화를 만드는 데 사용되는 v 값을 포함합니다.

bool_constant 클래스 템플릿은 T 인수로 사용하는 bool 명시적 부분 특수화 integral_constant 입니다.

예시

// std__type_traits__integral_constant.cpp
// compile with: /EHsc
#include <type_traits>
#include <iostream>

int main()
    {
    std::cout << "integral_constant<int, 5> == "
        << std::integral_constant<int, 5>::value << std::endl;
    std::cout << "integral_constant<bool, false> == " << std::boolalpha
        << std::integral_constant<bool, false>::value << std::endl;

    return (0);
    }
integral_constant<int, 5> == 5
integral_constant<bool, false> == false

요구 사항

헤더:<type_traits>

네임스페이스: std

참고 항목

<type_traits>
false_type
true_type