true_type和false_type是integral_constant实例化的别名:
template <bool _Val>
using bool_constant = integral_constant<bool, _Val>;
using true_type = bool_constant<true>;
using false_type = bool_constant<false>;
true_type表示通过true实例化的bool_constant的别名类型
false_type表示通过false实例化的bool_constant的别名类型
也就是说true_type和false_type是一种类型,由于是类型,因此可以通过函数的重载的方式解决
中