POINTER
pointer merupakan variabel dengan tipe tertentu yang berguna untuk mencatat alamat dari suatu variabel yang setipe dengannya, serta mengakses, dan memanipulasi data yang tersimpan dalam alamat tersebut.
Bila int x adalah sebuah variable bertipe integer, variabel x berarti alamat dari x. Jika p adalah sebuah pointer bertipe integer, unsur p bisa menyimpan dan memegang alamat dari x tersebut.
Pointer ini merupakan variabel level rendah yang bisa dipakai untuk menunjuk nilai integer, character, float, double, atau single hingga tipe data lain yang didukung oleh bahasa C.
Pointer adalah variabel yang menyimpan alamat memori objek. Pointer digunakan secara ekstensif di C dan C++ untuk tiga tujuan utama:
untuk mengalokasikan objek baru pada timbunan,
untuk meneruskan fungsi ke fungsi lain
untuk melakukan iterasi atas elemen dalam array atau struktur data lainnya.
Dalam pemrograman gaya C, pointer mentah digunakan untuk semua skenario ini. Namun, pointer mentah adalah sumber dari banyak kesalahan pemrograman serius. Oleh karena itu, penggunaannya sangat tidak dianjurkan kecuali di mana mereka memberikan manfaat performa yang signifikan dan tidak ada ambiguitas mengenai pointer mana yang merupakan penunjuk pemilik yang bertanggung jawab untuk menghapus objek. C++ modern menyediakan penunjuk cerdas untuk mengalokasikan objek, iterator untuk melintasi struktur data, dan ekspresi lambda untuk meneruskan fungsi. Dengan menggunakan fasilitas bahasa dan perpustakaan ini alih-alih pointer mentah, Anda akan membuat program Anda lebih aman, lebih mudah di-debug, dan lebih mudah dipahami dan dipeliharanya.