Penggabungan Rentetan Berasaskan Makro dalam C/C
Penggabungan rentetan takrifan makro secara langsung dalam C/C tidak boleh dilakukan menggunakan ## pengendali prapemproses, yang bertujuan terutamanya untuk penyatuan token. Walau bagaimanapun, penyelesaian wujud untuk mencapai ini.
Pertimbangkan contoh berikut:
#define STR1 "s" #define STR2 "1" #define STR3 STR1 STR2
Kod ini mentakrifkan tiga makro: STR1 dengan rentetan literal "s", STR2 dengan "1", dan STR3 sebagai gabungan STR1 dan STR2. Peluasan STR3 menghasilkan:
#define STR3 "s" "1"
Walau bagaimanapun, dalam bahasa C, penjajaran dua rentetan yang dipisahkan oleh ruang putih (seperti dalam "s" "1") adalah bersamaan dengan rentetan tunggal "s1" .
Oleh itu, kod berikut secara langsung menggabungkan STR1 dan STR2 tanpa memerlukan ## pengendali:
#define STR3 STR1 STR2
Ini berkembang kepada:
#define STR3 "s1"
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Rentetan Ditakrif Makro dalam C/C Tanpa Operator?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!