__ptr32, __ptr64
Microsoft-spezifisch
__ptr32
stellt einen nativen Zeiger auf einem 32-Bit-System dar, während __ptr64
er einen systemeigenen Zeiger auf einem 64-Bit-System darstellt.
Das folgende Beispiel zeigt, wie die einzelnen Zeigertypen deklariert werden:
int * __ptr32 p32;
int * __ptr64 p64;
Auf einem 32-Bit-System wird ein mit __ptr64
einem 32-Bit-Zeiger deklarierter Zeiger abgeschnitten. Auf einem 64-Bit-System wird ein mit __ptr32
einem 64-Bit-Zeiger deklarierter Zeiger in einen 64-Bit-Zeiger umgewandelt.
Hinweis
Sie können /clr:pure nicht verwenden __ptr32
oder __ptr64
kompilieren. Andernfalls wird Compilerfehler C2472 generiert. Die Optionen "/clr:pure " und "/clr:safe compiler" sind in Visual Studio 2015 veraltet und werden in Visual Studio 2017 nicht unterstützt.
Aus Gründen der Kompatibilität mit früheren Versionen sind _ptr32 und _ptr64 Synonyme für __ptr32
die __ptr64
Compileroption /Za (Spracherweiterungen deaktivieren) angegeben.
Beispiel
Das folgende Beispiel zeigt, wie Zeiger mit den __ptr32
und __ptr64
Schlüsselwort (keyword) deklariert und zugewiesen werden.
#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;
}
32
64
Ende Microsoft-spezifisch
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für