__ptr32, __ptr64

Específicos de Microsoft

__ptr32 representa un puntero nativo en un sistema de 32 bits, mientras que __ptr64 representa un puntero nativo en un sistema de 64 bits.

El ejemplo siguiente se muestra cómo declarar cada uno de estos tipos de puntero:

int * __ptr32 p32;
int * __ptr64 p64;

en un sistema de 32 bits, un puntero declarado con __ptr64 se trunca a un puntero de 32 bits.En un sistema de 64 bits, un puntero declarado con __ptr32 se convierte en un puntero de 64 bits.

[!NOTA]

No puede utilizar __ptr32 o __ptr64 al compilar con /clr:pure.Si no, Compiler Error C2472 se generará.

Ejemplo

El ejemplo siguiente se muestra cómo declarar y asignar punteros con las palabras clave de __ptr32 y de __ptr64 .

#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;
}
  

Vea también

Referencia

Tipos fundamental (C++)