fork download
  1. #include <iostream>
  2. #include <type_traits>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int (*a1)(int) = nullptr;
  8. int (*a2)(const int) = nullptr;
  9. int (* const a3)(int) = nullptr;
  10. cout << is_same<decltype(a1), decltype(a2)>::value << " "
  11. << is_same<decltype(a1), decltype(a3)>::value << endl; //1 0
  12.  
  13. int (*b1)(int *) = nullptr;
  14. int (*b2)(int [100]) = nullptr;
  15. const int (*b3)(int *) = nullptr;
  16. cout << is_same<decltype(b1), decltype(b2)>::value << " "
  17. << is_same<decltype(b1), decltype(b3)>::value << endl; //1 0
  18.  
  19.  
  20. int (*c1)(int, long(char, int [5][10])) = nullptr;
  21. int (*c2)(const int, long(const char, int (*)[10])) = nullptr;
  22. int (* const c3)(int, long(char, int [5][10])) = nullptr;
  23. cout << is_same<decltype(c1), decltype(c2)>::value << " "
  24. << is_same<decltype(c1), decltype(c3)>::value << endl; //1 0
  25. }
Success #stdin #stdout 0s 4540KB
stdin
Standard input is empty
stdout
1 0
1 0
1 0