__ptr32, __ptr64
Específicos do Microsoft
__ptr32representa um ponteiro nativo em um sistema de 32 bits, enquanto __ptr64 representa um ponteiro nativo em um sistema de 64 bits.
O exemplo a seguir mostra como declarar cada um desses tipos de ponteiro:
int * __ptr32 p32;
int * __ptr64 p64;
Em um sistema de 32 bits, um ponteiro é declarado com __ptr64 será truncado para um ponteiro de 32 bits.Em um sistema de 64 bits, um ponteiro é declarado com __ptr32 é forçado para um ponteiro de 64 bits.
Observação |
---|
Não é possível usar __ptr32 ou __ptr64 durante a compilação com /clr:pure.Caso contrário, Compiler Error C2472 será gerado. |
Exemplo
O exemplo a seguir mostra como declarar e alocar os ponteiros com o __ptr32 e __ptr64 as palavras-chave.
#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;
}