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
範本是 的明確部分特製化 integral_constant
,其使用 bool
做為 T 自變數。
範例
// 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