考慮一下:類結構保證是訪問的順序
class Vec3
{
private:
float n[3];
public:
float& x;
float& y;
float& z;
Vec3(float x_, float y_, float z_) : x(n[0]), y(n[1]), z(n[2])
{
x = x_;
y = y_;
z = z_;
}
}
我可以肯定,這樣做:
Vec3 v(1,2,3);
cout<<reinterpret_cast<float*>(&v)[0]<<"\t";
cout<<reinterpret_cast<float*>(&v)[1]<<"\t";
cout<<reinterpret_cast<float*>(&v)[2]<<"\t";
會給我1 2 3
由每個編譯/ OS,爲符合標準?
一旦修復編譯器錯誤,它會在您的編譯器上打印出什麼? – juanchopanza
@juancho:這是你可以想象的最不相關的事情。 – Puppy
@DeadMG我可以想象更多不相干的東西。也許這只是我瘋狂的想象。 – juanchopanza