__ptr32, __ptr64

Specyficzne dla firmy Microsoft

__ptr32 reprezentuje natywny wskaźnik w systemie 32-bitowym, a jednocześnie __ptr64 reprezentuje natywny wskaźnik w systemie 64-bitowym.

W poniższym przykładzie pokazano, jak zadeklarować każdy z tych typów wskaźników:

int * __ptr32 p32;
int * __ptr64 p64;

W systemie 32-bitowym wskaźnik zadeklarowany za __ptr64 pomocą jest obcinany do wskaźnika 32-bitowego. W systemie 64-bitowym wskaźnik zadeklarowany za pomocą __ptr32 elementu jest coerced do wskaźnika 64-bitowego.

Uwaga

Nie można użyć __ptr32 polecenia lub __ptr64 podczas kompilowania z /clr:pure. W przeciwnym razie zostanie wygenerowany błąd kompilatora C2472. Opcje kompilatora /clr:pure i /clr:safe są przestarzałe w programie Visual Studio 2015 i nieobsługiwane w programie Visual Studio 2017.

Aby uzyskać zgodność z poprzednimi wersjami, _ptr32 i _ptr64 są synonimami __ptr32 i __ptr64 chyba że określono opcję kompilatora /Za (Wyłącz rozszerzenia języka).

Przykład

W poniższym przykładzie pokazano, jak zadeklarować i przydzielić wskaźniki za __ptr32 pomocą słów kluczowych i __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;
}
32
64

END Microsoft Specific

Zobacz też

Typy wbudowane