C++中64位计算机的指针大小是多少?

2po*_*r10 7 c++ 64-bit

我的计算机从32位更改为64位,我的操作系统是64位Windows 7.我认为64位操作系统中的指针应该是64位--8字节.但是,当我在C++中使用sizeof(void*)来获取一个点的大小时,结果为4.

为什么4 ??

Seb*_*fel 17

您的可执行文件仍在编译为32位二进制文​​件.尝试将其编译为64位项目.

如果处理器在32位环境中模拟程序,操作系统对指针的内部大小没有影响......

在VS2010中,转到配置管理器,在"平台"下创建一个新条目,然后选择x64(通常它是那里唯一的其他选项)

编辑:另外,确保你传递void*sizeof()操作员.