title: Arrays passed by reference by default?
body: <p>I'm reading a C++ book which says this:</p>
  
  <blockquote>
    <p>C++ passes arrays to functions by reference—the called functions can modify the element values in the callers’ original arrays.</p>
  </blockquote>
  
  <p>It is referring to situations like this:</p>
  
  <pre><code>int hourlyTemperatures[ 24 ]; 
  modifyArray( hourlyTemperatures, 24 );
  </code></pre>
  
  <p>However, this is vanilla C array pointers at work here, right? There is no use of a C++ "reference" technique, what is being passed is a <em>pointer by value</em>, in this case, a pointer to the first element of the array. The end result is that the function does have access to the full original array, like a reference, but this is not actually pass by reference, right?</p>
  
  <p>From this Prentice Hall book:
  <img src="https://i.stack.imgur.com/txzrf.png" alt="The book in question"></p>