std::is_trivially_copyable_v 关于虚拟功能

std::is_trivially_copyable_v on virtual function

本文关键字:虚拟 功能 于虚拟 is trivially copyable std      更新时间:2023-10-16

我尝试遵循代码,它只是打印false.

class A
{
virtual void func() {}
};
std::cout << std::is_trivially_copyable_v<A>;

为什么虚函数会影响复制?虚拟表指针可以简单地复制。

from class.prop

一个平凡的可复制类是一个类:

其中每个符合条件的复制构造函数、移动

构造函数、复制赋值运算符和移动赋值运算符都是微不足道的......

并从类.复制.分配

如果...

X类没有虚函数...

所以你的类A不是普通的可复制的,因为它有一个虚函数func