Rumah > pembangunan bahagian belakang > C++ > Mengapakah `(NULL == bCondition)` Diutamakan Daripada `(bCondition == NULL)` dalam C/C ?

Mengapakah `(NULL == bCondition)` Diutamakan Daripada `(bCondition == NULL)` dalam C/C ?

DDD
Lepaskan: 2024-12-04 12:39:11
asal
858 orang telah melayarinya

Why is `(NULL == bCondition)` Preferred Over `(bCondition == NULL)` in C/C  ?

Membezakan Antara '(bCondition == NULL)' dan '(NULL == bCondition)'

Dalam pelbagai konteks pengaturcaraan, terutamanya apabila merujuk sumber MSDN, anda mungkin menghadapi dua ungkapan bersyarat yang kelihatan boleh ditukar ganti: '(bCondition == NULL)' dan '(NULL == bSyarat)'. Walaupun mereka mungkin kelihatan setara pada pandangan pertama, terdapat perbezaan yang ketara dalam tingkah laku mereka apabila mengendalikan kemungkinan kesilapan menaip.

Apabila membandingkan pembolehubah kepada NULL, penggunaan '(NULL == bCondition)' diutamakan untuk ralat yang lebih baik pengesanan sekiranya berlaku salah letak pengendali tugasan '=' dan bukannya operator perbandingan '=='. Pertimbangkan contoh berikut:

Kod:

if (bCondition = NULL) // Typos
{
  // Code never executes
}
Salin selepas log masuk

Dalam keadaan ini, kesilapan menaip telah berlaku apabila '=' (tugasan) telah tersilap digunakan dan bukannya '= =' (perbandingan). Ini menyebabkan pernyataan bersyarat sentiasa menilai kepada 'palsu' kerana pengendali tugasan memberikan NULL kepada 'bCondition' dan bukannya membandingkannya. Akibatnya, kod dalam blok tidak akan pernah dilaksanakan.

Sebaliknya, jika kita menggunakan '(NULL == bCondition)' sebaliknya:

Kod:

if (NULL = bCondition) // Error
{
  // ...
}
Salin selepas log masuk

Dalam kes ini, pengkompil akan mengesan kesilapan menaip dan mengeluarkan ralat yang menunjukkan bahawa tugasan NULL kepada bCondition ialah operasi yang tidak sah. Pengesanan ralat ini berfungsi sebagai perlindungan terhadap penugasan tidak sengaja yang berpotensi membawa kepada tingkah laku program yang tidak dijangka.

Oleh itu, tatatanda '(NULL == bCondition)' biasanya disyorkan untuk menyemak keadaan dengan NULL kerana ia memberikan lebih mantap pengendalian ralat sekiranya berlaku kesilapan menaip.

Atas ialah kandungan terperinci Mengapakah `(NULL == bCondition)` Diutamakan Daripada `(bCondition == NULL)` dalam C/C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan