__ptr32, __ptr64

Microsoft-spezifisch

__ptr32 stellt einen systemeigenen Zeiger auf einem 32-Bit-System dar, während __ptr64 einen systemeigenen Zeiger auf einem 64-Bit-System darstellt.

Das folgende Beispiel zeigt, wie Sie jeden dieser Zeigertypen deklariert:

int * __ptr32 p32;
int * __ptr64 p64;

Unter einem 32-Bit-System wird ein Zeiger, der __ptr64 deklariert wird, einen 32-Bit-Zeiger abgeschnitten.Auf einem 64-Bit-System wird ein Zeiger, der __ptr32 deklariert wird, einen 64-Bit-Zeiger umgewandelt.

HinweisHinweis

Sie können __ptr32 oder beim Kompilieren __ptr64 nicht mit /clr:pure.Andernfalls wird Compiler Error C2472 generiert.

Beispiel

Im folgenden Beispiel wird gezeigt, wie mit den Zeiger deklariert und Schlüsselwörtern und __ptr32__ptr64 zuordnet.

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

Siehe auch

Referenz

Grundlagen-Typen (C++)