fork(1) download
  1. #include <iostream>
  2. #include <typeinfo>
  3. using namespace std;
  4.  
  5. template<size_t N>
  6. void funcArrayRef(int(&ar)[N])
  7. {
  8. cout << "\nfuncArrayRef:\n";
  9. cout << typeid(ar).name() << " " << sizeof(ar) << " byte\n";
  10. cout << "ar[4] " << ar[4] << endl;
  11. }
  12.  
  13. void funcArray(int(ar)[])
  14. {
  15. cout << "\nfuncArray:\n";
  16. cout << typeid(ar).name() << " " << sizeof(ar) << " byte\n";
  17. cout << "ar[4] " << ar[4] << endl;
  18. }
  19.  
  20. void funcPointer(int(*ar))
  21. {
  22. cout << "\nfuncPointer:\n";
  23. cout << typeid(ar).name() << " " << sizeof(ar) << " byte\n";
  24. cout << "ar[4] " << ar[4] << endl;
  25. }
  26.  
  27. int main() {
  28. int x[] = {1,2,3,4,5};
  29. cout << "main:\n";
  30. cout << typeid(x).name() << " " << sizeof(x) << " byte\n";
  31. funcArray(x);
  32. funcPointer(x);
  33. funcArrayRef(x);
  34. return 0;
  35. }
Success #stdin #stdout 0s 4384KB
stdin
Standard input is empty
stdout
main:
A5_i 20 byte

funcArray:
Pi 8 byte
ar[4] 5

funcPointer:
Pi 8 byte
ar[4] 5

funcArrayRef:
A5_i 20 byte
ar[4] 5