2

Mike Miller 在240 中说。未初始化的值和未定义的行为

3.9.1 [basic.fundamental] 中的措辞经过精心设计,允许使用 unsigned char 访问未初始化的数据,这样 memcpy 等就可以用 C++ 编写而没有未定义的行为

这是什么意思?为什么要访问未初始化的数据?

4

2 回答 2

1

当您复制struct包含填充的 a 时,memcpy也会复制填充。通常,填充是未初始化的。

于 2012-11-02T10:29:21.810 回答
0

这意味着仍然可以访问未由对象构造函数初始化的内存(这是用于 C++ 的方式)。我们可以使用无符号字符(或字节)来指向原始内存块。

对象是您应该处理的,但您仍然可以按原样查看内存。

于 2012-11-02T07:59:52.707 回答