調用構造函數如果我有這樣一個類:從另一個類
typedef union { __m128 quad; float numbers[4]; } Data
class foo
{
public:
foo() : m_Data() {}
Data m_Data;
};
和一類這樣的:讓酒吧的實例時
class bar
{
public:
bar() : m_Data() {}
foo m_Data;
}
被稱爲Foo的構造函數?
因爲當我嘗試使用bar
的m_Data
的quad
在bar
這似乎是未初始化的,即使它在numbers[4]
值。 :\
具體地,該崩潰:
m_Data.quad = _mm_mul_ps(m_Data.quad, a_Other.m_Data.quad)
任何幫助,將不勝感激。 :)
在不相干的筆記上,你的工會訣竅可能會損害表現。您正在引入很多潛在的別名,編譯器必須考慮並解決這些別名,正好在您的(可能是性能至關重要的)SIMD代碼中。 – jalf
您必須發佈更完整的示例。你說「酒吧的m_Data的四邊形吧,它似乎是未初始化的,即使它有數字值[4]」你發佈的代碼從來沒有設置它。 –