如果标准规定它只是为POD类型定义的(我还没有仔细检查过C++ 11标准,所以我不知道你的争用是否正确(a))和你做一个非POD类型,它没有定义的行为。期。
在一些实现中,在行星对齐时的某些环境中,它可能在一天中的某些时间工作。它可能工作绝大多数时候。如果你重视可移植性,那么这仍然不是一个好主意。
(一)更多的调查后,它将显示你的具体情况是好的。该标准的第3.9/3(n3242 draft,但我会感到惊讶,如果它已经从这么晚草案太大的改变)指出:
对于任何平凡复制的类型T,如果两个指针至T点不同ŧ对象obj1和obj2其中,obj1和obj2都不是基类子对象,如果组成obj1的基础字节被复制到obj2中,则obj2将随后保持与obj1相同的值。
第九节定义(在高电平)什么是“平凡能够复制”是指:
甲平凡能够复制类是一类:
- 不具有非平凡复制构造(12.8) ,
- 没有非平凡的举动构造函数(12.8),
- 没有非平凡的拷贝赋值运算符(13.5.3,12.8),
- 没有非平凡的举动赋值运算符(13.5.3, 12.8)和
- 有一个微不足道的析构函数(12.4)。
与引用的部分进入更详细地在每个区域中,12.8
用于复制和分配用于移动类对象和13.5.3
。
相关:http://stackoverflow.com/questions/4178175/what-are-aggregates-and-pods-and-how-why-are-they-special/7189821#7189821 –