Dalam pengaturcaraan berorientasikan objek menggunakan C , pembina ialah fungsi ahli khas yang memulakan objek. Walaupun pembina boleh ditakrifkan sebagai templat, membenarkan gelagat pemulaan generik, selalunya wajar untuk menyatakan secara eksplisit parameter templat semasa pemanggilan pembina.
Kelas yang dipanggil A berfungsi sebagai contoh mudah:
struct A { template<typename T> A() {} };
Kod di atas mentakrifkan pembina templat yang menerima jenis data generik T. Walau bagaimanapun, apabila menggunakan pembina ini, pengkompil biasanya bergantung pada potongan jenis daripada hujah yang disediakan. Timbul persoalan: adakah terdapat cara untuk menyatakan secara eksplisit parameter templat pembina?
Malangnya, jawapannya tidak. Menurut piawaian C 03, "tidak ada cara untuk menyediakan senarai hujah templat yang jelas untuk templat fungsi ini." Ini kerana senarai hujah templat eksplisit mengikut nama templat fungsi dan templat fungsi ahli penukaran dan templat fungsi ahli pembina dipanggil tanpa menggunakan nama fungsi.
Nota: Tingkah laku ini mungkin berbeza dalam versi C yang lebih baharu. Rujuk standard atau dokumentasi untuk versi khusus C yang anda gunakan untuk mengesahkan.
Atas ialah kandungan terperinci Bolehkah Anda Menentukan Parameter Templat Dengan Eksplisit Apabila Menggunakan Pembina dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!