Memadamkan Penunjuk kepada Const (T const*)
Dalam C , adalah fakta yang diketahui bahawa fungsi bukan ahli const tidak boleh dipanggil menggunakan penunjuk const. Walau bagaimanapun, pengecualian biasa ditemui apabila memadam penuding ke const, walaupun ia memanggil pemusnah kelas, yang bukan kaedah const. Anomali yang jelas ini menimbulkan persoalan: mengapa ini dibenarkan?
Jawapannya terletak pada menyokong pemusnahan objek yang diperlukan. Apabila objek dicipta secara dinamik, adalah penting untuk mempunyai cara untuk memadamkannya, walaupun ia adalah const. Ini dicapai dengan membenarkan pemadaman penunjuk const, walaupun terdapat sekatan pada mengubah suai objek const.
Kod berikut menunjukkan tingkah laku ini:
<code class="cpp">// dynamically create object that cannot be changed const Foo * f = new Foo; // use const member functions here // delete it delete f;</code>
Contoh lain menunjukkan bahawa tingkah laku ini tidak terhad kepada objek yang dicipta secara dinamik:
<code class="cpp">{ const Foo f; // use it } // destructor called here</code>
Jika pemusnah tidak dapat dipanggil pada objek const, ia akan melarang penggunaan objek const sepenuhnya. Elaun ini memastikan pemusnahan objek yang betul, tanpa mengira status constnya.
Atas ialah kandungan terperinci Mengapa Kita Boleh Padamkan Penunjuk ke Const dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!