Partager via


__ptr32, __ptr64

Spécifique à Microsoft

__ptr32 représente un pointeur natif sur un système 32 bits, tandis que __ptr64 représente un pointeur natif sur un système 64 bits.

L'exemple suivant montre comment déclarer chacun de ces types pointeur :

int * __ptr32 p32;
int * __ptr64 p64;

sur un système 32 bits, un pointeur déclaré avec __ptr64 est tronqué à un pointeur 32 bits.Sur un système 64 bits, un pointeur déclaré avec __ptr32 est converti en un pointeur 64 bits.

[!REMARQUE]

Vous ne pouvez pas utiliser __ptr32 ou __ptr64 lors de la compilation avec /clr:pure.Sinon, Compiler Error C2472 est généré.

Exemple

l'exemple suivant montre comment déclarer et allouer des pointeurs avec les mots clés d' __ptr32 et d' __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;
}
  

Voir aussi

Référence

Types fondamentaux (C++)