Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah Memeriksa Penunjuk Null dalam Fungsi Ahli Perlu dan Boleh Dipercayai dalam Aplikasi Berbilang Benang C?

Adakah Memeriksa Penunjuk Null dalam Fungsi Ahli Perlu dan Boleh Dipercayai dalam Aplikasi Berbilang Benang C?

Linda Hamilton
Linda Hamiltonasal
2024-11-02 15:24:02196semak imbas

Is Checking for Null Pointers in Member Functions Necessary and Reliable in C   Multithreaded Applications?

Menyemak Petunjuk Null dalam Fungsi Ahli

Soalan:

Dalam aplikasi berbilang benang, pertimbangkan kelas dengan fungsi ahli. Adakah sah untuk menyemak sama ada penuding ini adalah nullptr dalam fungsi dan mengembalikan kod ralat jika ia?

Jawapan:

Dalam standard C , mengakses null penunjuk ialah tingkah laku yang tidak ditentukan. Oleh itu, menyemak sama ada ini nullptr dan mengembalikan kod ralat tidak diperlukan dan boleh membawa kepada tingkah laku bukan standard.

Pertimbangan Tambahan:

  • Sesetengah pelaksanaan , seperti VC dan MFC, membenarkan ini disemak untuk nullptr. Walau bagaimanapun, pelaksanaan sedemikian adalah bukan standard dan boleh membawa kepada kod yang tidak boleh dipercayai.
  • Memasukkan semakan sedemikian mungkin berguna untuk tujuan nyahpepijat, tetapi pernyataan tegas adalah pilihan yang lebih sesuai untuk ini.
  • Menyemak sama ada ini nullptr tidak semestinya menunjukkan bahawa objek telah dipadamkan. Ini hanya boleh bermakna bahawa penunjuk nol telah digunakan untuk memanggil kaedah atau mendapatkan rujukan ini.

Atas ialah kandungan terperinci Adakah Memeriksa Penunjuk Null dalam Fungsi Ahli Perlu dan Boleh Dipercayai dalam Aplikasi Berbilang Benang C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn