非初始化的数据和memcpy

uninitialized data and memcpy

本文关键字:memcpy 数据 初始化      更新时间:2023-10-16

迈克·米勒(Mike Miller

3.9.1 [basic.fundamental]中的措辞经过精心制作,以允许使用未签名的char访问非初始化的数据,以便可以用c 写入不定义的行为

那意味着什么?为什么要访问非初始化数据?

复制包含填充的struct时,memcpy也会复制填充物。通常,填充是非初始化的。

这意味着仍然可以访问对象构造函数初始化的内存(这是针对C 的方式)。我们可以使用未签名的char (或字节)指向原始内存块。

对象是您应该处理的,但是您仍然可以看到以下记忆。