为什么需要知道一个类是平凡的还是具有平凡的构造函数的?

时间:2018-10-27 11:34:09

标签: c++

在type_traits中,您可以检查一个类是否琐碎,可复制/可移动/可构造。

知道是否有什么意义?是否知道您可以执行成员智能副本还是按位副本?从本质上讲,为什么知道一个类是微不足道的呢?

1 个答案:

答案 0 :(得分:1)

拥有微不足道的类,您只需在内存中复制对象即可。如果对象使用的是32个字节,则您将占用这些字节并复制到其他位置。您有两个相同的可用对象。当您使用非普通类时,无法确定是否复制仍具有可用的对象。如果不是很简单,则无法确定是否可以通过这种方式复制对象(类可以具有某种处理程序,例如字符串,并且您将有两个对象指向一个数据)。此外,如果您的课程也是

std::is_standard_layout

然后您可以在C程序中使用此对象。