fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. template<typename T> // primary template
  5. struct is_int : std::false_type
  6. {};
  7.  
  8. template<> // explicit specialization for T = int
  9. struct is_int<int> : std::true_type
  10. {};
  11.  
  12. template <typename T>
  13. constexpr bool is_int_v = is_int<T>::value;
  14.  
  15. int main() {
  16. std::cout << is_int_v<char> << std::endl; // prints 0 (false)
  17. std::cout << is_int<int>::value << std::endl; // prints 1 (true)
  18. return 0;
  19. }
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
0
1