【发布时间】:2014-12-04 20:38:31
【问题描述】:
我可能在这里遗漏了一些东西。我需要存储新分配的内存块的指针地址。
我这样做:
void* buffer = _aligned_malloc(4096,4);
assert(buffer);
//save its original address:
void* initialAddress = (void*) std::addressof(buffer );
initialAddress 保存的地址与缓冲区的地址不同。
只有当我分配缓冲区指针时,我才能得到相同的地址(这当然是正确的事情):
initialAddress = buffer;
那么,为什么 std::addressof(buffer) 显示不同的地址?我正在使用 VS2012 进行调试。也许这是指针的地址而不是缓冲区的地址?
【问题讨论】: