`std::complex<T>[n]` and `T[n*2]` type aliasing : <p>Since C++11 <code>std::complex&lt;T&gt;[n]</code> is guaranteed to be aliasable as <code>T[n*2]</code>, with well defined values. Which is exactly what one would expect for any mainstream architecture. Is this guarantee achievable with standard C++ for my own types, say <code>struct vec3 { float x, y, z; }</code> or is it only possible with special support from the compiler?</p>
