Rumah > pembangunan bahagian belakang > C++ > Bolehkah Anda Menentukan Parameter Templat Secara Eksplisit dalam Definisi Pembina?

Bolehkah Anda Menentukan Parameter Templat Secara Eksplisit dalam Definisi Pembina?

DDD
Lepaskan: 2024-11-29 16:42:12
asal
658 orang telah melayarinya

Can You Explicitly Specify Template Parameters in Constructor Definitions?

Bolehkah Spesifikasi Parameter Templat Eksplisit dalam Definisi Pembina Dicapai?

Walaupun berkebolehan untuk mencipta templat pembina dalam kelas, proses penyusunan biasanya menyimpulkan parameter templat daripada argumen disediakan. Walau bagaimanapun, keraguan timbul jika wujud sintaks yang membenarkan spesifikasi eksplisit parameter templat dalam pembina tersebut.

Pertimbangkan struktur berikut sebagai contoh:

struct A {
  template<typename T>
  A() {}
};
Salin selepas log masuk

Persoalannya timbul: adakah terdapat kaedah untuk mewujudkan struktur ini atau mentakrifkan secara eksplisit parameter templat pembinanya?

Dalam amalan, senario mungkin timbul apabila pengkompil gagal mengenal pasti pembina templat yang betul, yang membawa kepada potensi kesukaran. Spesifikasi parameter templat eksplisit boleh meningkatkan pelaporan ralat atau malah menyelesaikan isu.

Jawapan:

Sangat mengecewakan, standard C 03 menawarkan jawapan yang pasti:

"Oleh kerana templat fungsi ahli penukaran dan templat fungsi ahli pembina dipanggil tanpa menggunakan nama fungsi, tidak ada cara untuk menyediakan senarai hujah templat eksplisit untuk templat fungsi ini." (§14.5.2/5)

Pada dasarnya, menyatakan secara eksplisit parameter templat dalam definisi pembina tidak disokong oleh piawai C 03.

Atas ialah kandungan terperinci Bolehkah Anda Menentukan Parameter Templat Secara Eksplisit dalam Definisi Pembina?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan