Dapatkan Alamat dan Nilai Memori
Sebelumnya, kita menggunakan variabel pointer untuk mendapatkan alamat memori dari sebuah variabel (digunakan bersama dengan operator &
sebagai referensi). Namun, kita juga bisa menggunakan pointer untuk mendapatkan nilai variabel dengan menggunakan operator *
(operator dereference):
Contoh :
#include <iostream> #include <string> using namespace std; int main() { string food = "Pizza"; // Variable declaration string* ptr = &food; // Pointer declaration // Referensi: Menampilkan alamat memori food dengan pointer cout << ptr << "\n"; // Dereference: Menampilkan nilai makanan dengan pointer cout << *ptr << "\n"; return 0; }
Output :
Perhatikan : tanda *
dapat membingungkan di sini karena ia melakukan dua hal berbeda dalam kode kita:
- Ketika digunakan dalam deklarasi (
string * ptr
), itu membuat variabel pointer. - Jika tidak digunakan dalam deklarasi, hal ini bertindak sebagai operator dereferensi.