Membatalkan Penunjuk NULL dalam Panggilan Fungsi Ahli
Apabila memanggil fungsi ahli pada penunjuk objek NULL, hasilnya tidak tentu dan sistem -bergantung. Ini disebabkan oleh sifat penunjuk dalam C , di mana NULL mewakili ketiadaan alamat memori yang sah.
Dalam coretan kod yang disediakan:
class A { public: void fun() { std::cout << "fun" << std::endl; } }; A* a = NULL; a->fun();
Percubaan untuk mengakses fungsi ahli yang menyeronokkan daripada penunjuk objek NULL menghasilkan tingkah laku yang tidak ditentukan. Penunjuk a tidak menunjuk kepada objek jenis A yang sah, dan dengan itu membatalkan rujukan tidak boleh diramalkan.
Bergantung pada pelaksanaan dan sistem, pelbagai akibat mungkin berlaku:
Adalah penting untuk ambil perhatian bahawa tingkah laku yang tidak ditentukan harus dielakkan dalam kod pengeluaran kerana ia boleh membawa kepada tingkah laku yang tidak boleh dipercayai atau tidak stabil. Sentiasa pastikan bahawa penunjuk objek adalah sah sebelum membatalkan rujukannya.
Atas ialah kandungan terperinci Apa yang Berlaku Apabila Anda Menyahrujuk Penunjuk NULL dalam Panggilan Fungsi Ahli C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!