Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Pemalar Tidak Ditakrifkan Dilakukan dalam #jika Keadaan?

Bagaimanakah Pemalar Tidak Ditakrifkan Dilakukan dalam #jika Keadaan?

Mary-Kate Olsen
Lepaskan: 2024-11-13 00:40:02
asal
822 orang telah melayarinya

How Are Undefined Constants Treated in #if Conditions?

Kepentingan Pemalar Tidak Ditakrifkan dalam #if Keadaan

Dalam dunia pengaturcaraan, arahan #if prapemproses memainkan peranan penting dalam bersyarat kompilasi. Ia membenarkan kemasukan terpilih atau pengecualian kod berdasarkan syarat yang ditentukan. Soalan biasa yang timbul dalam konteks ini ialah: Apakah yang berlaku apabila pemalar yang tidak ditentukan digunakan dalam keadaan #jika?

Piawaian C99 dan C memberikan jawapan yang jelas kepada soalan ini. Menurut §6.10.1 ¶3 piawai C99, "Selepas semua penggantian disebabkan pengembangan makro dan pengendali unari yang ditentukan telah dilakukan, semua pengecam yang tinggal digantikan dengan nombor pp 0." Begitu juga, piawaian C menyatakan dalam §16.1 ¶4 bahawa "Selepas semua penggantian disebabkan pengembangan makro dan operator unari yang ditentukan telah dilakukan, semua pengecam dan kata kunci yang tinggal, kecuali benar dan salah, digantikan dengan nombor pp 0. "

Ini bermakna anda boleh bergantung pada andaian bahawa pemalar tidak ditentukan dianggap sebagai sifar dalam penilaian keadaan #jika. Akibatnya, coretan kod di bawah:

#if MY_CONSTANT
  // Code that will be executed only if MY_CONSTANT is defined
#else
  // Code that will be executed if MY_CONSTANT is undefined
#endif
Salin selepas log masuk

... akan menyebabkan "Kod yang akan dilaksanakan jika MY_CONSTANT tidak ditentukan" dilaksanakan. Tingkah laku ini dijamin oleh piawaian C dan C serta menyediakan cara yang boleh diramal dan konsisten untuk mengendalikan pemalar yang tidak ditentukan dalam keadaan #jika.

Atas ialah kandungan terperinci Bagaimanakah Pemalar Tidak Ditakrifkan Dilakukan dalam #jika Keadaan?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan