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

C++ 为什么需要知道一个类是平凡的还是有平凡的构造函数?,c++,C++,在type_traits中,您可以检查类是否是平凡的、平凡的可复制/可移动/可构造的 知道它是不是有什么意义?是否要知道是否可以预执行成员级拷贝和位级拷贝?本质上,为什么知道一个类是平凡的有用呢?拥有一个平凡的类,您可以在内存中复制对象。如果对象使用i.g 32字节,则您将获取这些字节并在其他位置进行复制。您有两个相同的可用对象。当您有一个非平凡的类时,您无法确定是否复制了它,您仍然有可用的对象。若它不是微不足道的,那个么您就不能确定对象是否可以通过这种方式复制,类可以有某种处理程序i.g字符串

在type_traits中,您可以检查类是否是平凡的、平凡的可复制/可移动/可构造的


知道它是不是有什么意义?是否要知道是否可以预执行成员级拷贝和位级拷贝?本质上,为什么知道一个类是平凡的有用呢?

拥有一个平凡的类,您可以在内存中复制对象。如果对象使用i.g 32字节,则您将获取这些字节并在其他位置进行复制。您有两个相同的可用对象。当您有一个非平凡的类时,您无法确定是否复制了它,您仍然有可用的对象。若它不是微不足道的,那个么您就不能确定对象是否可以通过这种方式复制,类可以有某种处理程序i.g字符串,并且您将有两个指向一个数据的对象。另外如果你的班级也

std::is_standard_layout

然后你可以在C程序中使用这个对象

一个原因是,它的未指定可能是不可复制的对象的未定义行为。