为什么变量和显式内存地址具有不同的值?

时间:2015-01-29 13:17:00

标签: c++ visual-studio-2013

我在Visual Studio 2013上遇到了一个奇怪的行为。我有一个变量CZipArchive zip,由于某种原因,我的项目的行为是错误的。

当我获取其地址(&zip - > 0x0018fae0)并进行显式内存引用时,值是正确的。见下图:

Visual Studio 2013 - Watch 1

当我检查成员&zip.m_bCaseSensitive的地址时,地址为0x0018fb00,但如果我检查相同属性的地址,则使用显式地址代替变量zip (*(CZipArchive*)(0x0018fae0)).m_bCaseSensitive,地址为0x0018faf0

正确的值是使用显式内存地址并使用zip变量的值,该值是错误的。

为什么会发生这种情况?

0 个答案:

没有答案