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