0
如何提供一個具有構造函數作爲工會一部分的類?如何爲工會的成員提供一個簡單的類構造函數?
我讀過任何具有簡單構造函數的類都可以成爲聯合體的一部分。特別是對於C++ 0x,我認爲工會應該是不受限制的。爲什麼這個float4
班不適合?我怎樣才能做到這一點?
struct float4
{
union
{
struct { float z, y, x, w; };
float v[4];
__m128 xmm;
};
inline float4() { }
inline float4(float x, float y, float z, float w) :
xmm(_mm_setr_ps(z, y, x, w)) { }
};
struct float44
{
union
{
float v[16];
__m128 xmm[4];
struct { __m128 xmm1, xmm2, xmm3, xmm4; };
struct { float4 row1, row2, row3, row4; };
};
};