title: How are these array types different?
body: <p>So usually when you type arrays for function arguments you declare them like this:</p>
  
  <pre><code>f ( const float offset [ 3 ] )
  </code></pre>
  
  <p>But I've been working on a project that has them declared like so:</p>
  
  <pre><code>f ( const float ( &amp;offset ) [ 3 ] )
  </code></pre>
  
  <p>What does that change even mean? To my knowledge we are already effectively passing around a pointer. What what coercing it to a reference like this even do? </p>