我正在阅读这个http://en.wikipedia.org/wiki/C%2B%2B0x#Modification_to_the_definition_of_plain_old_data
它提到了trivial默认构造函数,trivial复制构造函数,复制赋值运算符和trivial析构函数。什么是trivial的,什么不是?
我正在阅读这个http://en.wikipedia.org/wiki/C%2B%2B0x#Modification_to_the_definition_of_plain_old_data
它提到了trivial默认构造函数,trivial复制构造函数,复制赋值运算符和trivial析构函数。什么是trivial的,什么不是?
memcpy
进行复制)。memcpy
)来复制。因此,该类的复制构造函数和赋值运算符将不符合 trivial 的要求。如果以下条件都满足,类A的构造函数就是平凡的:
struct Rect1 { int l, r, w, h}; struct Rect2 { int l, t, r, b' Rect2(){} Rect2(Rect1 r) {...} };
是否会被认为是微不足道的。但我猜不是,因为我不能定义任何构造函数。我本以为允许这样做,因为有一个微不足道的默认构造函数,而且这不是赋值或复制运算符。 - user34537