Bila Perlu Pertimbangkan Makro dalam C
Walaupun reputasinya sebagai perangkap, makro masih boleh digunakan untuk tujuan yang bermanfaat dalam C . Walaupun C moden menyediakan alternatif yang lebih selamat seperti fungsi sebaris, const dan templat, terdapat senario tertentu yang makro tetap diperlukan.
Pembungkus Fungsi Nyahpepijat dengan Maklumat Kontekstual:
Makro boleh bertindak sebagai pembungkus untuk fungsi nyahpepijat, secara automatik menyuntik maklumat kontekstual seperti FAIL dan __LINE__. Ini berguna untuk mengesan pelaksanaan kod dan tujuan penyahpepijatan:
#ifdef ( DEBUG ) #define M_DebugLog( msg ) std::cout << __FILE__ << " : " << __LINE__ << " : " << msg #else #define M_DebugLog( msg ) #endif
Sejak C 20, walau bagaimanapun, jenis std::source_location boleh digunakan sebagai fungsi biasa untuk mencapai fungsi yang serupa tanpa bergantung pada makro.
Atas ialah kandungan terperinci Bilakah Anda Masih Perlu Menggunakan Makro dalam C Moden?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!