C++:__ptr32、__ptr64

本文介绍了在Microsoft环境下,__ptr32和__ptr64分别用于表示32位和64位系统的本机指针。在不同系统上,它们会根据目标平台自动截断或转换。注意,在使用/clr:pure编译时,不能同时使用这两个关键字,且此编译选项在较新版本的Visual Studio中已被弃用。示例展示了如何声明和使用这两种指针类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++:__ptr32、__ptr64

Microsoft 专用

__ptr32 表示32位系统中的本机指针,而 __ptr64 表示64位系统上的本机指针。

以下示例演示如何声明所有这些指针类型:

int * __ptr32 p32;
int * __ptr64 p64;

在32位系统中,使用声明的指针被 __ptr64 截断为32位指针。 在64位系统中,使用声明的指针 __ptr32 被强制转换为64位指针。

备注

使用 __ptr32 __ptr64 /clr: pure 进行编译时,不能使用或。 否则,将生成编译器错误 C2472。 /Clr: pure 和 /clr: safe 编译器选项在 visual studio 2015 中已弃用,在 visual studio 2017 中不受支持。

为了与早期版本兼容, _ptr32 和 _ptr64 是的同义词 __ptr32 , __ptr64 除非指定了编译器选项 /za ( 禁用语言扩展) 。

示例

下面的示例演示如何用和关键字声明和分配指针 __ptr32 __ptr64 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值