Rumah >pembangunan bahagian belakang >C++ >Mengapakah Penyahrujukan Penunjuk NULL untuk Mencipta Rujukan dalam C Gelagat Tidak Ditakrifkan?
Piawaian C: Kelakuan Tidak Ditakrifkan Penuding NULL Penunjuk NULL untuk Penciptaan Rujukan
Piawaian C menyatakan secara eksplisit bahawa penyahrujukan penunjuk NULL mengakibatkan tingkah laku yang tidak ditentukan . Prinsip ini terpakai pada penciptaan rujukan juga, seperti yang ditunjukkan oleh kod yang disediakan:
int* ptr = NULL; int& ref = *ptr; int* ptr2 = &ref;
Dalam kod ini, pengkompil cuba mencipta rujukan rujukan dengan menyahrujuk ptr penunjuk NULL. Mengikut piawaian, ini adalah tingkah laku yang tidak ditentukan dan tindakan seterusnya program tidak dapat diramalkan.
Nota dalam 8.3.2/4 piawaian mengukuhkan perkara ini, menyatakan bahawa rujukan nol tidak boleh wujud dalam telaga- atur cara yang ditakrifkan kerana ia memerlukan penyahrujukan penunjuk NULL, yang merupakan kelakuan tidak ditentukan.
Ia penting untuk ambil perhatian bahawa tingkah laku yang ditentukan memastikan pelaksanaan program yang boleh diramal dan konsisten, manakala tingkah laku yang tidak ditentukan menyebabkan hasil program tidak ditentukan. Oleh itu, adalah penting untuk mengelak daripada bergantung pada tingkah laku yang tidak ditentukan dalam kod C anda.
Atas ialah kandungan terperinci Mengapakah Penyahrujukan Penunjuk NULL untuk Mencipta Rujukan dalam C Gelagat Tidak Ditakrifkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!