Class structure guaranteed to be the order of access
<p>Consider this:</p>

<pre><code>class Vec3
{
    private:
        float n[3];
    public:
        float&amp; x;
        float&amp; y;
        float&amp; z;
        Vec3(float x_, float y_, float z_) : x(n[0]), y(n[1]), z(n[2])
        {
            x = x_;
            y = y_;
            z = z_;
        }
}
</code></pre>

<p>can I be sure that doing this:</p>

<pre><code>Vec3 v(1,2,3);
cout&lt;&lt;reinterpret_cast&lt;float*&gt;(&amp;v)[0]&lt;&lt;"\t";
cout&lt;&lt;reinterpret_cast&lt;float*&gt;(&amp;v)[1]&lt;&lt;"\t";
cout&lt;&lt;reinterpret_cast&lt;float*&gt;(&amp;v)[2]&lt;&lt;"\t";
</code></pre>

<p>will give me <code>1 2 3</code> by every compiler/OS that follows the standard?</p>
