我的计算机从32位更改为64位,我的操作系统是64位Windows 7.我认为64位操作系统中的指针应该是64位--8字节.但是,当我在C++中使用sizeof(void*)来获取一个点的大小时,结果为4.
为什么4 ??
Seb*_*fel 17
您的可执行文件仍在编译为32位二进制文件.尝试将其编译为64位项目.
如果处理器在32位环境中模拟程序,操作系统对指针的内部大小没有影响......
在VS2010中,转到配置管理器,在"平台"下创建一个新条目,然后选择x64(通常它是那里唯一的其他选项)
编辑:另外,确保你传递void*给sizeof()操作员.