Pengisytiharan Hadapan dan Ketergantungan Pekeliling
Pengisytiharan ke hadapan telah diperkenalkan sebagai cara untuk mengelakkan kebergantungan pekeliling dalam C . Pertimbangkan contoh berikut:
//file C.h #include "A.h" #include "B.h" class C { A* a; B b; ... };
Dalam senario ini, jika kelas A dan B turut merujuk antara satu sama lain, ia akan menyebabkan ralat kebergantungan bulat semasa penyusunan. Untuk menyelesaikan masalah ini, pengisytiharan hadapan boleh digunakan:
//file C.h #include "B.h" class A; class C { A* a; B b; ... };
Di sini, fail pengepala untuk kelas A hanya disertakan dalam fail .cpp, di mana ia sebenarnya diperlukan. Dengan cara ini, kebergantungan bulat dielakkan sambil mengekalkan hubungan yang diperlukan antara kelas.
Faedah Pengisytiharan Hadapan
Terdapat beberapa faedah menggunakan pengisytiharan hadapan dan bukannya kemasukan pengepala yang tidak diperlukan :
Kesimpulan
Pengisytiharan ke hadapan disyorkan di mana mungkin untuk mengelakkan kebergantungan bulat dan kemasukan pengepala yang tidak perlu. Mereka menawarkan masa penyusunan yang lebih baik, mengurangkan pencemaran simbol dan kawalan yang lebih besar ke atas kebergantungan. Walaupun mungkin terdapat senario di mana kemasukan pengepala diperlukan, pengisytiharan hadapan ialah pendekatan pilihan dalam kebanyakan situasi.
Atas ialah kandungan terperinci Bagaimanakah Pengisytiharan Hadapan Boleh Menyelesaikan Ketergantungan Pekeliling dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!