Kebetulan const itu apa sih? Jelaskan dalam bahasa melayu ya

Dalam sains komputer, kebetulan const ialah bentuk kebetulan atur cara yang berurusan dengan kebetulan cara pengisytiharan objek sebagai boleh ubah atau tak boleh ubah. Istilah ini paling banyak digunakan dalam konteks C atau C++, dan namanya diambil sempena kata kunci const dalam bahasa-bahasa tadi.

Idea ke-const-an tidak bermaksud bahawa pemboleh ubah—kerana ia tersimpan dalam ingatan komputer—tidak boleh ditulis. Sebaliknya, ke-const-an ialah suatu binaan masa kompil yang menandakan apa yang patut seseorang pengaturcara buat, tidak semestinya apa yang mereka boleh buat. Pun begitu, perlu diingat bahawa dalam kes data pratakrif (misalnya rentetan harafiah const char *), const C selalunya tidak boleh ditulis.

Sebagai tambahan, sesebuah kaedah boleh diisytiharkan sebagai const. Dalam perkara ini, penuding 'this' dalam sesebuah kaedah sebegini adalah berjenis const ThisClass* const bukan ThisClass* const. Maksudnya, kaedah bukan const bagi objek ini tidak boleh dipanggil daripada kaedah sebegini, pembolehubah-pembolehubah ahlinya juga tidak boleh diubah. Dalam C++, sesebuah pemboleh ubah ahli boleh diisytiharkan sebagai mutable, menandakan bahawa kekangan ini tiada kesan keatasnya. Ini berguna dalam kes-kes seperti dengan peng-cache-an, penghitungan rujukan, dan penyerentakan data. Dalam kes-kes ini, makna logik (keadaan atau state) bagi objek tidak bertukar, namun objek terbabit tidak secara fizikalnya malar kerana pewakilan bitnya mungkin berubah.