C++ Dereferensi
Dapatkan Alamat dan Nilai Memori
Pada contoh dari halaman sebelumnya, kita menggunakan variabel pointer untuk mendapatkan alamat memori dari sebuah variabel (digunakan bersama dengan operator &
referensi ). Namun, Anda juga dapat menggunakan pointer untuk mendapatkan nilai variabel, dengan menggunakan *
operator ( operator dereference ):
Contoh
string food = "Pizza"; // Variable declaration
string* ptr =
&food; // Pointer declaration
//
Reference: Output the memory address of food with the pointer (0x6dfed4)
cout <<
ptr << "\n";
//
Dereference: Output the value of food with the pointer (Pizza)
cout <<
*ptr << "\n";
Perhatikan bahwa *
tanda tersebut dapat membingungkan di sini, karena ia melakukan dua hal berbeda dalam kode kita:
- Saat digunakan dalam deklarasi (string* ptr), itu membuat variabel pointer .
- Ketika tidak digunakan dalam deklarasi, ia bertindak sebagai operator dereference .