Rumah > pembangunan bahagian belakang > C++ > Bolehkah Anda Menentukan Parameter Templat Dengan Eksplisit Apabila Menggunakan Pembina dalam C?

Bolehkah Anda Menentukan Parameter Templat Dengan Eksplisit Apabila Menggunakan Pembina dalam C?

Barbara Streisand
Lepaskan: 2024-11-15 12:59:02
asal
607 orang telah melayarinya

Can You Explicitly Specify Template Parameters When Invoking a Constructor in C  ?

Spesifikasi Parameter Templat Eksplisit dalam Invokasi Pembina

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() {}
};
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan