I recently found some code like this:
typedef int TenInts[10]; void foo(TenInts &arr);
What can you do in the body of foo()
foo()
One difference is that it's (supposed to be) impossible to pass a null reference. So in theory the function does not need to check if the parameter is null, whereas an int *arr parameter could be passed null.