Membuat Referensi
Variabel referensi adalah sebuah referensi ke variabel dan dibuat dengan
operator &:
Untuk mengakses data pada variabel food (yaitu "Pizza") dapat dilakukan
dengan mengakses variabel food itu sendiri atau referensi meal.
Contoh:
#include <iostream>
using namespace std;
int main()
{
cout << food << "\n"; // Menghasilkan keluaran tulisan Pizza
cout << meal << "\n"; // Menghasilkan keluaran tulisan Pizza
}
Ketika sebuah varibel dibuat dalam Bahasa C++, sebuah alamat memori
disediakan untuk variabel tersebut. Lalu, ketika kita memberi nilai ke variabel
tersebut, nilai tersebut akan disimpan dalam alamat memori yang sudah
diberikan.
Pergunakan operator & untuk mengakses alamat tersebut dan hasil akan
merepresentasikan tempat variabel disimpan (alamat memori).
Contoh:
#include <iostream>
using namespace std;
int main()
{
cout << &food; // Menampilkan alamat memori
}
Contoh:
string food = "Pizza"; // Vabiabel food dengan tipe data string
Variabel pointer merujuk ke variabel dengan tipe data (int atau string) yang
sama, dan dibuat dengan menggunakan operator *. Alamat memori dari
variabel yang sedang dikerjakan saat itu lalu diberikan ke pointer untuk
disimpan sebagai nilai dari variabel pointer.
Contoh:
#include <iostream>
using namespace std;
string food = "Pizza"; // Variabel food dengan tipe data string
string* ptr = &food; // Deklarasi sebuah variabel pointer, dengan
nama variabel ptr, yang menyimpan alamat
memori variabel food
int main() {
cout << food << "\n"; // Menampilkan data food yaitu Pizza
cout << &food << "\n"; // Menampilkan alamat memori food yaitu 0x6dfed4
cout << ptr << "\n"; // Menampilkan alamat memori food dengan pointer
(0x6dfed4)
}
Penjelasan:
Sebuah variabel pointer dengan nama ptr, yang merujuk ke sebuah variabel
string, dengan menggunakan operator * (string* ptr). Perlu diingat bahwa
tipe data pointer harus memiliki tipe data yang sama dengan variabel yang
dikerjakan.
Operator & digunakan untuk menyimpan alamat memori dari variabel food,
dan memberikannya ke pointer sebagai nilai yang akan disimpan. Oleh karena
Tip: Ada 3 cara untuk mendefinisikan variabel pointer, tetapi cara pertama
adalah cara yang paling direkomendasikan.
Contoh:
#include <stream>
using namespace std;
Catat bahwa tanda * dapat membingungkan, karena memiliki dua fungsi yang
berbeda:
Contoh:
#include <stream>
using namespace std;
int main()
{
cout << food << "\n"; // Keluaran nilai Food yaitu Pizza
cout << &food << "\n";// Keluaran alamat memori food yaitu 0x...
cout << *ptr << "\n"; // Mengakses alamat memori food dan
mengeluarkan nilainya yaitu Pizza
cout << *ptr << "\n"; // Mengeluarkan nilai yang baru pointer
yaitu Hamburger
cout << food << "\n"; // Mengeluarkan nilai yang baru variabel
food yaitu Hamburger
}
#include <iostream>
using namespace std;
int main()
{
cout << food << endl; //Hasil yaitu Pizza
cout << *meal << endl; //Hasil yaitu Pizza
}
#include <iostream>
using namespace std;
int main()
{
string food = "Pizza";
#include <iostream>
using namespace std;
int main()
{
cout << food << endl; //Hasil yaitu Pizza
cout << *ptr << endl; //Hasil yaitu Pizza
}