非初始化的数据和memcpy
uninitialized data and memcpy
迈克·米勒(Mike Miller
3.9.1 [basic.fundamental]中的措辞经过精心制作,以允许使用未签名的char访问非初始化的数据,以便可以用c 写入不定义的行为
那意味着什么?为什么要访问非初始化数据?
复制包含填充的struct
时,memcpy
也会复制填充物。通常,填充是非初始化的。
这意味着仍然可以访问对象构造函数初始化的内存(这是针对C 的方式)。我们可以使用未签名的char (或字节)指向原始内存块。
对象是您应该处理的,但是您仍然可以看到以下记忆。
相关文章:
- 防止主数据类型C++的隐式转换
- 用于访问容器<T>数据成员的正确 API
- 嵌套在类中时无法设置成员数据
- 使用流处理接收到的数据
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 使用 memcpy 将矢量数据复制到 wstring 的正确方法
- 对于单个数据 WORD 的 memcpy 和赋值语句有什么区别?
- 直接向工会而不是其特定成员之一发送memcpy数据是否安全
- memcpy是否可以保留不同类型之间的数据
- 套接字:在没有memcpy的情况下,使用recvfrom将UDP数据获取到字对齐的缓冲区
- 非初始化的数据和memcpy
- 使用memcpy将数据复制到结构的成员,并给出指向结构的双指针
- 如何使用 memcpy 将数据从两个整数复制到字符数组
- 为什么memcpy无法复制特征矩阵数据,但std::复制成功
- 将内置数据类型转换为std::string: memcpy vs snprintf
- 使用memcpy将多个数据复制到char*中
- 普通旧数据和“std::memcpy”对齐问题
- 使用任何缓冲区来存储任何数据,放置位置为new和memcpy
- 如何正确地从内存中读取数据(memcpy)
- memcpy() 可以用来更改"const"成员数据吗?