Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Khusus Microsoft
__ptr32
mewakili pointer asli pada sistem 32-bit, sementara __ptr64
mewakili pointer asli pada sistem 64-bit.
Contoh berikut menunjukkan cara mendeklarasikan masing-masing jenis pointer ini:
int * __ptr32 p32;
int * __ptr64 p64;
Pada sistem 32-bit, pointer yang dinyatakan dengan __ptr64
dipotong menjadi pointer 32-bit. Pada sistem 64-bit, pointer yang dinyatakan dengan __ptr32
dipaksa ke pointer 64-bit.
Catatan
Anda tidak dapat menggunakan __ptr32
atau __ptr64
ketika mengkompilasi dengan /clr:pure. Jika tidak, Compiler Error C2472 akan dihasilkan. Opsi pengkompilasi /clr:pure dan /clr:safe tidak digunakan lagi di Visual Studio 2015 dan tidak didukung di Visual Studio 2017.
Untuk kompatibilitas dengan versi sebelumnya, _ptr32 dan _ptr64 adalah sinonim untuk __ptr32
dan __ptr64
kecuali opsi pengompilasi /Za (Nonaktifkan ekstensi bahasa) ditentukan.
Contoh
Contoh berikut menunjukkan cara mendeklarasikan dan mengalokasikan pointer dengan __ptr32
kata kunci dan __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 Khusus Microsoft