【发布时间】:2015-09-11 07:50:54
【问题描述】:
例如,只有当 std::is_pointer<T> 和 std::is_const<T> 评估为 true_type 时,我才想使用类型 T。
当然,有这样一个简单的方法:
template <typename T>
void f(T t, std::true_type, std::true_type) {}
template <typename T>
void f(T t)
{
f(t, std::is_pointer<T>{}, std::is_const<T>{});
}
但我想要这样的东西:
template <typename T>
void f(T t, std::true_type) {}
template <typename T>
void f(T t)
{
f(t, std::and<std::is_pointer<T>, std::is_const<T>>{});
}
标准库是否包含类似std::and 的内容?如果没有,是否有一种简单的方法来实现所需的功能?
【问题讨论】:
标签: c++ c++11 templates typetraits