__ptr32, __ptr64
Specifici di Microsoft
__ptr32 rappresenta un puntatore nativo in un sistema a 32 bit, mentre __ptr64 rappresenta un puntatore nativo in un sistema a 64 bit.
Nell'esempio seguente viene illustrato come dichiarare ognuno di questi tipi di puntatore:
int * __ptr32 p32;
int * __ptr64 p64;
In un sistema a 32 bit, un puntatore dichiarato con __ptr64 viene troncato a un puntatore a 32 bit.In un sistema a 64 bit, un puntatore ha dichiarato con __ptr32 viene assegnato a un puntatore a 64 bit.
[!NOTA]
Non è possibile utilizzare __ptr32 o __ptr64 durante la compilazione con /clr:pure.In caso contrario, Compiler Error C2472 verrà generato.
Esempio
Nell'esempio seguente viene illustrato come dichiarare e allocare i puntatori con __ptr32 e __ptr64 parole chiave.
#include <cstdlib>
#include <iostream>
int main()
{
using namespace std;
int * __ptr32 p32;
int * __ptr64 p64;
p32 = (int * __ptr32)malloc(4);
*p32 = 32;
cout << *p32 << endl;
p64 = (int * __ptr64)malloc(4);
*p64 = 64;
cout << *p64 << endl;
}