Adakah Logik untuk Menyemak ini == nullptr?
Dalam konteks C , ia secara amnya dianggap tidak masuk akal untuk menyemak sama ada ini adalah batal. Ini kerana sebarang panggilan kaedah pada penuding nol sudah membentuk tingkah laku yang tidak ditentukan, menjadikan sebarang kod berdasarkan semakan sedemikian tidak standard.
Walaupun secara konsep benar bahawa ini == nullptr membayangkan objek dipadamkan, ini adalah bukan gambaran yang tepat tentang keadaan. Panggilan pada ini dengan nilai penuding nol menunjukkan sama ada kaedah itu digunakan secara langsung pada penunjuk nol atau pada rujukan yang diperoleh daripada satu. Kejadian ini, bagaimanapun, tidak berkaitan dengan pengendali pemadaman atau kewujudan mana-mana objek jenis itu.
Sesetengah pelaksanaan, seperti VC dan MFC, mungkin membenarkan penggunaan ini == 0. Dalam ini contoh, perpustakaan yang disesuaikan khusus untuk pelaksanaan sedemikian boleh menggunakannya sebagai penyelesaian masalah yang sesuai. Walau bagaimanapun, amalan ini tidak digalakkan kerana pendekatan penyahpepijatan yang lebih berkesan melibatkan penggunaan penegasan untuk semakan keadaan.
Atas ialah kandungan terperinci Mengapakah Menyemak `ini == nullptr` Dianggap Tidak Logik dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!