code

Penggunaan ‘const’ di C++

Penggunaan konstanta di C++ ternyata unik sekali. Selain membuat konstanta, const juga bisa digunakan untuk hal lain.

Perhatikan CRectangle.h baris 23. Penggunaan const di akhir definisi fungsi membuatnya bersifat read-only. Compiler akan mengeluarkan error jika terdapat statement di dalam fungsi tersebut yang berusaha untuk mengubah state milik instance.

Pada baris 45 berkas main.cpp, parameter CRectangle &aliasRect mengindikasikan bahwa aliasRect adalah alias (atau lebih tepatnya referensi) terhadap object CRectangle sesungguhnya.

Hal ini disebut pass-by-reference. Salah satu tujuannya adalah optimasi: menghindari dibuatnya kopian (salinan) dari parameter yang dikirim. Bayangkan jika parameter yang dikirim adalah object berukuran besar. Pendekatan pass-by-reference akan meniadakan penggunaan waktu dan ruang yang dibutuhkan untuk membuat kopian dari object tersebut.

Tidak berhenti disitu. Masih di baris yang sama kita bisa lihat penggunaan const sebelum tipe parameter. Ini mengindikasikan bahwa rutin di dalam fungsi tersebut tidak boleh mengubah aliasRect. Lebih jauh lagi: compiler yang akan memastikan bahwa hanya methods milik object aliasRect yang sifatnya read-only yang boleh dipanggil.

Jika ingin tahu lebih detail lagi tentang konstanta di C++, baca ini: The C++ ‘const’ Declaration: Why & How

Contoh code yang kusertakan di atas mencakup beberapa topik lain, diantaranya: penggunaan pointer di C++, stack versus heap (dynamic allocation), function overloading.

Standard

Leave a Reply

Your email address will not be published. Required fields are marked *