您几乎不应该在 C++ 中执行此操作,除非您正在编程的某些外部 API 要求您这样做(这可能适用于旧的 Windows C API)。有多种方法可以使用默认构造函数来初始化数据,这样,如果内存房屋的数据类型发生更改,构造将自动调整。使用ZeroMemory来初始化数据是脆弱的。
有趣的是,微软提到这在本文档ZeroMemory中甚至可能不适用于:SecureZeroMemory
ZeroMemory当您想要确保数据将被立即覆盖时,请使用此函数,因为某些 C++ 编译器可以ZeroMemory通过完全删除它来优化调用。
ZeroMemory简单地用0填充结构的内存,这本质上意味着结构的每个值都设置为0.如果在将结构的所有值都传递给自定义值之前将其设置为例如API函数,则这是必要的. .在创建结构时,每个字段中都有未指定的值 - 这会导致函数中的未定义行为,然后访问结构的字段.
| 归档时间: |
|
| 查看次数: |
8031 次 |
| 最近记录: |