fork download
  1. #include <iostream>
  2. #include <limits>
  3.  
  4. template <class T>
  5. void show_range(T t) {
  6. std::cout
  7. << "value: " << static_cast<long long>(t) << ", "
  8. << "min: " << static_cast<long long>(std::numeric_limits<T>::min()) << ", "
  9. << "max: " << static_cast<long long>(std::numeric_limits<T>::max()) << "\n";
  10. }
  11.  
  12. int main() {
  13. unsigned char uc = 42;
  14. show_range(uc);
  15. show_range(+uc);
  16. show_range(uc + 0);
  17. show_range(uc * 1);
  18. show_range(uc << 0);
  19. return 0;
  20. }
  21.  
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
value: 42, min: 0, max: 255
value: 42, min: -2147483648, max: 2147483647
value: 42, min: -2147483648, max: 2147483647
value: 42, min: -2147483648, max: 2147483647
value: 42, min: -2147483648, max: 2147483647