cari

Rumah  >  Soal Jawab  >  teks badan

Mengapakah disyorkan untuk mengutamakan pemalar dalam pernyataan "jika"?

Saya sedang melihat beberapa contoh kod C++ untuk antara muka perkakasan yang saya gunakan dan melihat banyak kenyataan yang serupa dengan:

if ( NULL == pMsg ) return rv;

Saya pasti saya pernah mendengar orang berkata bahawa mendahulukan pemalar adalah idea yang baik, tetapi mengapa? Adakah ini hanya supaya anda boleh melihat dengan cepat apa yang anda bandingkan jika anda mempunyai kenyataan yang besar atau adakah terdapat lebih daripada itu?

P粉066224086P粉066224086241 hari yang lalu473

membalas semua(2)saya akan balas

  • P粉226667290

    P粉2266672902024-03-26 12:47:56

    Menghalang anda daripada menulis:

    if ( pMsg = NULL ) return rv;

    Dilanggar secara tidak sengaja. Walau bagaimanapun, pengkompil yang baik akan memberi amaran kepada anda tentang perkara ini, jadi kebanyakan orang tidak akan menggunakan cara "const-first" kerana mereka mendapati sukar untuk membaca.

    balas
    0
  • P粉180844619

    P粉1808446192024-03-26 09:11:54

    Dengan cara ini tiada kekeliruan antara perbandingan (==) dan tugasan (=).

    Seperti yang anda ketahui, anda tidak boleh menetapkan kepada pemalar. Jika anda mencuba, pengkompil akan memberi anda ralat.

    Pada asasnya, ini adalah teknik pengaturcaraan defensif. Untuk melindungi diri anda daripada diri sendiri.

    balas
    0
  • Batalbalas