std::cout << (DWORD)"test";
Run Code Online (Sandbox Code Playgroud)
如果我编译并运行它,我每次都会得到不同的输出值,但我无法弄清楚原因.
有任何想法吗?
PS:我正在使用Windows 7 64位,我正在使用Microsoft Visual C++ 2010 Ultimate进行编译.
在您的代码中,“test”实际上是指向字符串开头的指针。当您将其转换为 a 时DWORD,您将指针转换为整数类型,并写出该数字。
由于存储“test”的内存位置可能会随着每次运行而变化,因此您看到的值也会发生变化。