调用构造函数如果我有这样一个类:从另一个类
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]”你发布的代码从来没有设置它。 –