Mentakrifkan Makro Prapemproses Berbilang Talian
Dalam makro prapemproses, keperluan untuk kefungsian berbilang baris timbul apabila mentakrifkan blok atau struktur kod kompleks. Walaupun makro satu baris agak mudah, mencipta makro berbilang baris memerlukan pendekatan khusus.
Watak Melarikan Kesinambungan Baris
Untuk mencipta makro berbilang baris, a aksara melarikan diri kesinambungan baris, (slash belakang), digunakan pada penghujung setiap baris kecuali yang terakhir. Ini memberitahu prapemproses bahawa definisi makro diteruskan pada baris seterusnya.
Sintaks
Sebagai contoh, makro berikut mentakrifkan kelas dengan berbilang ahli:
<code class="c++">#define someMacro(X) \ class X : public otherClass \ { \ int foo; \ void doFoo(); \ };</code>
Perhatikan bahawa aksara baris baharu dimasukkan selepas setiap . Walau bagaimanapun, aksara sengkang ke belakang mestilah aksara terakhir pada baris, walaupun diikuti dengan ruang putih atau ulasan. Jika tidak, ralat kompilasi akan berlaku.
Contoh
Pertimbangkan makro swap berikut, yang menukar nilai dua pembolehubah:
<code class="c++">#define swap(a, b) { \ (a) ^= (b); \ (b) ^= (a); \ (a) ^= (b); \ }</code>
Ini makro membolehkan pertukaran pembolehubah yang mudah dalam satu baris kod.
Kesimpulan
Dengan menggunakan aksara pelarian penerusan baris, makro prapemproses boleh dilanjutkan merentasi berbilang baris, membolehkan takrifan blok atau struktur kod kompleks dalam satu makro.
Atas ialah kandungan terperinci Bagaimana Anda Mentakrifkan Makro Prapemproses Berbilang Talian dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!