title: Can a std::array alias a fragment of a larger array?
body: <p>Suppose we have a pointer <code>T* ptr;</code> and <code>ptr, ptr+1, … ptr+(n-1)</code> all refer to valid objects of type T.</p>
  
  <p>Is it possible to access them as if they were an STL <code>array</code>? Or does the following code:</p>
  
  <pre><code>std::array&lt;T,n&gt;* ay = (std::array&lt;T,n&gt;*) ptr
  </code></pre>
  
  <p>invoke undefined behaviour?</p>