c++: if constexpr

This commit is contained in:
Ciro Santilli 六四事件 法轮功
2019-09-07 00:00:00 +00:00
parent 4806f0ecfb
commit cb3f2f6183
2 changed files with 27 additions and 1 deletions

View File

@@ -0,0 +1,23 @@
// https://cirosantilli.com/linux-kernel-module-cheat#cpp
#if __cplusplus >= 201703L
#include <cassert>
#include <type_traits>
template <class T>
struct MyClass {
int myFunc() {
if constexpr(std::is_integral<T>())
return 1;
else
return 2;
}
};
#endif
int main() {
#if __cplusplus >= 201703L
assert(MyClass<int>().myFunc() == 1);
assert(MyClass<float>().myFunc() == 2);
#endif
}