次の方法で共有


__ptr32、 __ptr64

Microsoft 固有の仕様 →

__ptr32 は __ptr64 は64 ビット システムのネイティブ ポインターを表しますが32 ビット システムのネイティブ ポインターを表します。

次の例はこれらのポインター型を宣言する方法を示しています :

int * __ptr32 p32;
int * __ptr64 p64;

32 ビット システムでは__ptr64 で宣言されたポインターは 32 ビット ポインターに切り捨てられます。64 ビット システムでは__ptr32 で宣言されたポインターは 64 ビット ポインター型に変換されます。

[!メモ]

/clr:pure してコンパイルする場合 __ptr32 または __ptr64 は使用できません。それ以外 Compiler Error C2472 が生成されます。

使用例

次の例に __ptr32 と __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;
}
  

参照

関連項目

基本を入力します (C++)