Video: Python Tutorial For Beginners | Python Full Course From Scratch | Python Programming | Edureka 2024
Jika Anda memiliki sebuah array dan Anda tidak ingin isinya berubah, Anda dapat membuatnya menjadi array konstan. Baris kode berikut, ditemukan dalam contoh Array05, menunjukkan pendekatan ini:
const int Permanent [5] = {1, 2, 3, 4, 5}; cout << permanen [1] << endl;
Array ini bekerja seperti array lainnya, kecuali Anda tidak dapat mengubah nomor di dalamnya. Jika Anda menambahkan baris seperti baris berikut, Anda mendapatkan kesalahan kompilator, karena compiler mengetahui konstanta:
Permanen [2] = 5;
Inilah kesalahan yang Anda dapatkan saat Anda mencoba ini di Code:: Blocks:
error: penugasan lokasi hanya-baca 'Permanent [2]'
Bagaimana dengan rangkaian nonstituen yang konstan? Bisakah Anda melakukan itu? Terkadang - tergantung kompilernya. Sama mengerikannya dengan kode berikut (ditemukan dalam contoh Array06) - dan ini bukan standar ANSI! - Anda diperbolehkan melakukan ini dengan kompiler gcc versi lama. (Microsoft Visual C ++ dan Borland C ++ Builder tidak mengizinkannya, dan Kodenya:: Kompilator blok menyajikan kesalahan: pesan kesalahan penugasan array tidak benar.)
int NonConstant [5] = {1, 2, 3, 4, 5}; int OtherList [5] = {10, 11, 12, 13, 14}; OtherList = NonConstant;
Dengan kata lain, baris ketiga mengatakan, "Lupakan apa yang dimaksud dengan OtherList; Sebagai gantinya, buatlah titik ke array pertama, {1, 2, 3, 4, 5}! "Sekarang, benar-benar seharusnya tidak menulis kode seperti ini (ingat, pertahankan hal-hal sederhana dan mudah dimengerti), jadi jika Anda ingin mencegah hal semacam ini, Anda dapat membuat konstanta array:
< ! --3 ->const int NonConstant [5] = {1, 2, 3, 4, 5}; const int OtherList [5] = {10, 11, 12, 13, 14}; OtherList = NonConstant;
Sekarang, ketika compiler sampai ke baris ketiga, ini memberi Anda kesalahan:
error: penugasan variabel read-only 'OtherList'
Tapi Anda mungkin memperhatikan bahwa cara Anda membuat konstanta array adalah Dengan cara yang sama seperti Anda membuat elemen-elemennya konstan dalam kode yang muncul tepat sebelum contoh ini. Ups! Apa itu semua tentang Ternyata ada beberapa peraturan.
Daftar berikut ini menjelaskan aturan, secara rinci, untuk membuat konstanta array:
-
Jika Anda ingin membuat konstanta array, Anda dapat mendahului jenisnya dengan kata const. Bila Anda melakukannya, nama array konstan, dan elemen di dalam array juga konstan. Dengan demikian Anda tidak dapat memiliki array konstan dengan elemen nonkonstant, dan Anda juga tidak dapat memiliki array nonkonstant dengan elemen konstan.
-
Gagasan tentang array tidak konkret hanya ada di gcc dan bukan standar ANSI.
Jika Anda benar-benar ingin mendapatkan teknis, standar C ++ ANSI mengatakan bahwa ketika Anda memasukkan kata const di depan deklarasi array, Anda tidak membuat konstanta array; Anda mengatakan bahwa array hanya menyimpan konstanta.
Namun, ketika Anda menggunakan const dengan cara ini, kebanyakan kompiler juga membuat array itu sendiri konstan. Tapi tidak apa-apa; Orang tidak boleh mengambil nama array dan menyalinnya ke hal lain. Itu bukan gaya pemrograman yang bagus, dan itu hanya meminta bug - atau, paling tidak, kebingungan - nanti.