Can a std::array alias a fragment of a larger array?
<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>