C++ 指针作为 DWORD

标签 c++ pointers casting dword

在 C++ 中,我可以简单地将指针转换为 DWORD 吗?

MyClass * thing;
DWORD myPtr = (DWORD)thing;

那行得通吗?

最佳答案

毫无疑问,您可以做到。

它是否有效取决于环境和您希望它做什么。

在 32 位 Windows1 上(最常看到 DWORD 的地方)通常没问题。在 64 位 Windows 上(您还可以看到 DWORD,但没有那么多)通常不会。


  1. 或者,更准确地说,当编译为 32 位可执行文件时,它将作为 32 位进程运行,而不管您碰巧在哪个 Windows 拷贝上运行它。

关于C++ 指针作为 DWORD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20914601/

相关文章:

pointers - 在 swift 中将 CFContextRef 转换为可变的 void 指针?

java - 未找到 Android NDK 方法...从 C++ 调用 Java

c++ - CUDA 中的全局内存与动态全局内存分配

c++ - `this == &x` 是确定指针 (this) 和引用 (x) 是否指向同一对象的正确方法吗?

matlab - 如何在 MATLAB 中将指针分配给对象的属性?

c++ - 如何在 C++ 中正确转换结构

c# - 如何将 A<T> 类型的泛型对象转换为 A<T'>?

c++ - 函数的模板推导如何在 C++ 中工作?

c++ - 关联容器引用

c - 强弱符号 -> double 转 char 数组