__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 전용 종료
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기