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
常量的值。

注解

使用整型类型 T 和该类型的值 v 进行专用化的 integral_constant 类模板表示一个对象,该对象保留该整型类型的常量以及指定的值。 名为 type 的成员是生成的模板专用化类型的别名,value 成员具有用于创建此专用化的值 v

bool_constant 类模板是将 bool 用作 T 参数的 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