这是定义的吗
Is this defined
假设我有一个 class A
:
class A : virtual SomeOtherClass{
//Stuff here
};
假设我在某个地方做了这个:
A thing;
alignas(A) uint8_t arr[sizeof(A)];
for (int x = 0; x < sizeof(A); x++)
{
//Copy into array
arr[x] = reinterpret_cast<uint8_t*>(&A)[x];
}
A* otherThing = reinterpret_cast<A*>(arr);
我在这里所做的是定义的行为,还是我以某种我不知道的方式自杀了?
显示的代码执行的内容等同于 memcpy()
。
因此,。 类 和虚拟基础 类 不可平凡复制。
假设我有一个 class A
:
class A : virtual SomeOtherClass{
//Stuff here
};
假设我在某个地方做了这个:
A thing;
alignas(A) uint8_t arr[sizeof(A)];
for (int x = 0; x < sizeof(A); x++)
{
//Copy into array
arr[x] = reinterpret_cast<uint8_t*>(&A)[x];
}
A* otherThing = reinterpret_cast<A*>(arr);
我在这里所做的是定义的行为,还是我以某种我不知道的方式自杀了?
显示的代码执行的内容等同于 memcpy()
。
因此,