__ptr32, __ptr64

Microsoft 전용

__ptr32 는 32비트 시스템의 네이티브 포인터를 나타내고 __ptr64 64비트 시스템의 네이티브 포인터를 나타냅니다.

다음 예제에서는 이러한 포인터 형식 각각을 선언하는 방법을 보여 줍니다.

int * __ptr32 p32;
int * __ptr64 p64;

32비트 시스템에서 선언된 __ptr64 포인터는 32비트 포인터로 잘립니다. 64비트 시스템에서 선언된 __ptr32 포인터는 64비트 포인터로 강제 변환됩니다.

참고 항목

/clr:pure컴파일할 때는 사용할 __ptr32__ptr64 수 없습니다. 그렇지 않으면 컴파일러 오류 C2472가 생성됩니다. /clr:pure/clr:safe 컴파일러 옵션은 Visual Studio 2015에서 더 이상 사용되지 않으며 Visual Studio 2017에서는 지원되지 않습니다.

이전 버전과의 호환성을 위해 컴파일러 옵션 /Za(언어 확장 사용 안 함)를 지정하지 않는 한 _ptr32 및 __ptr64 _ptr64 동의어 __ptr32 입니다.

예시

다음 예제에서는 키워드(keyword) 사용하여 포인터를 선언하고 __ptr64 할당하는 __ptr32 방법을 보여 줍니다.

#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

Microsoft 전용 종료

참고 항목

기본 제공 형식