fork download
  1. #include <iostream>
  2. #include <type_traits>
  3.  
  4.  
  5. struct test
  6. {
  7. void method() const
  8. {
  9. test_const<decltype(this)>();
  10. }
  11.  
  12. template<typename T>
  13. void test_const() const
  14. {
  15. std::cout << std::is_const<T>::value << " "
  16. << std::is_const<
  17. typename std::remove_pointer<T>::type>::value << std::endl;
  18. }
  19. };
  20.  
  21. int main()
  22. {
  23. test t;
  24. t.test_const<int const* const>();
  25. t.test_const<int * const>();
  26. t.test_const<int const* >();
  27. t.test_const<int *>();
  28. t.method();
  29.  
  30. return 0;
  31. }
Success #stdin #stdout 0s 2852KB
stdin
Standard input is empty
stdout
1 1
1 0
0 1
0 0
0 1