Rumah > Soal Jawab > teks badan
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粉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.
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.