Mengapa Saya Tidak Boleh Mengakses Elemen dengan Operator[] dalam Peta Konst?
Dalam C , menggunakan operator[] untuk mengakses elemen dalam peta const boleh menghasilkan ralat. Sebaliknya, kaedah at() harus digunakan untuk tujuan ini. Tidak seperti operator[], yang menambah elemen binaan lalai baharu jika kunci tidak wujud, at() membuang pengecualian std::out_of_range.
Pengenalan at() untuk Peta Const
at() ialah kaedah yang agak baharu yang diperkenalkan dalam C 11 khusus untuk std::map. Ia menawarkan cara yang lebih selamat untuk mengakses elemen peta apabila peta adalah const, kerana mengubah suai elemen peta melalui operator[] tidak dibenarkan.
Cara Menggunakan at() dalam Peta Const
Untuk mengakses elemen dalam peta const menggunakan at(), cuma panggil kaedah at() pada objek peta, menghantar kekunci sebagai hujah. Contohnya:
const std::map<int, char> B = A; cout << B.at(3) << endl; // works
Faedah Menggunakan at()
Menggunakan at() apabila mengakses elemen dalam peta const memberikan faedah berikut:
Kesimpulan
Apabila bekerja dengan peta const, adalah penting untuk menggunakan kaedah at() dan bukannya operator[] untuk mengakses elemen. Ini memastikan bahawa peta kekal tidak diubah suai dan menyediakan kaedah yang selamat dan boleh dipercayai untuk mendapatkan semula data.
Atas ialah kandungan terperinci Mengapa Gunakan `at()` Daripada `operator[]` untuk Mengakses Elemen dalam Peta C Malar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!