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 .