【发布时间】:2019-07-01 13:47:30
【问题描述】:
如何使用if constexpr 中的概念?
在下面的例子中,如果T 满足integral 的要求,则返回 1 给if constexpr,否则返回 0?
template<typename T>
concept integral = std::is_integral_v<T>;
struct X{};
template<typename T>
constexpr auto a () {
if constexpr (/* T is integral */) {
return 1;
}
else {
return 0;
}
}
int main () {
return a<X>();
}
【问题讨论】:
-
这个特殊的函数可以简化为
return integral<T>;。
标签: c++ c++-concepts c++20 if-constexpr