如何为联合的成员提供简单的类构造函数
How to provide a trivial class constructors for members of a union?
如何提供一个将构造函数作为联合的一部分的类?
我读到过,任何具有平凡构造函数的类都可以成为联合的一部分。特别是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; };
};
};
VC2010还没有实现c++ 0x规范的这一部分。
相关文章:
- 处理简单 cpp 类构造函数中的错误
- 有没有一种简单的方法可以在对象向量上调用构造函数?
- 简单构造函数的复杂编译器输出
- 简单矩阵类,错误:调用私有构造函数
- 简单的类构造函数初始化错误
- 构造函数主体中的简单指针语法出现问题
- 错误:在非常简单的示例中,预期的构造函数、析构函数或类型转换
- 超简单C++构造函数查询
- 在简单继承之后调用复制构造函数
- c++ 中带有简单构造函数的向量和自定义类的问题
- 我可以只从声明生成一个简单的构造函数吗?
- 具有复制构造函数、简单赋值运算符和简单析构函数的动态大小的文本对象
- 为简单结构定义哪个复制/移动构造函数/运算符
- 'explicit' g ++ 中的关键字对简单构造函数(不是复制/赋值构造函数)没有影响?
- 为简单向量实现复制构造函数
- 可变模板类中的(简单)构造函数
- 你能用英语尽可能简单地解释一下什么是复制构造函数,什么时候需要使用它吗?
- 为什么当我创建一个对象数组时调用默认构造函数,但当我将obj创建为简单变量时却出错
- 简单构造函数初始化列表
- 从简单的arrayfire构造函数中获取seg错误