Takrifan Prapemproses dan Takrifan Semula Kata Kunci dalam C
Dalam bidang arahan prapemproses C, perdebatan hangat telah timbul mengenai pematuhan standard mentakrifkan semula kata kunci menggunakan #define. Bolehkah prapemproses yang patuh membenarkan amalan sedemikian?
Prapemproses dan Kata Kunci
Menurut piawaian C, §17.4.3.1.1/2 secara eksplisit melarang mentakrifkan semula kata kunci dalam unit terjemahan yang merangkumi pengepala perpustakaan standard. Sekatan ini memastikan integriti komponen perpustakaan standard.
C 0x dan Takrifan Semula Kata Kunci
Pada mulanya, dipercayai bahawa C 0x (perantaraan yang kini usang kepada C 11 ) akan mengukuhkan larangan ini untuk langsung tidak membenarkan definisi semula kata kunci (§17.6.3.3.1). Walau bagaimanapun, sejak itu telah dijelaskan bahawa peraturan dalam C 0x kekal tidak berubah. Semakan yang dilihat timbul daripada penyusunan semula teks yang secara tidak sengaja mengelirukan sesetengah pihak.
Pematuhan Standard dan Takrifan Semula Kata Kunci
Memandangkan piawaian semasa, program C yang mentakrifkan semula kata kunci tidak boleh dianggap mematuhi piawaian. Dengan melanggar sekatan terhadap definisi semula kata kunci, program sedemikian melanggar integriti bahasa dan semantik terbina dalamnya.
Atas ialah kandungan terperinci Adakah Mentakrifkan Semula Kata Kunci C dengan #define Mematuhi Piawaian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!