Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Menjelaskan Fungsi Templat dalam C?

Bagaimanakah Saya Menjelaskan Fungsi Templat dalam C?

Barbara Streisand
Lepaskan: 2024-12-09 04:44:10
asal
559 orang telah melayarinya

How Do I Explicitly Instantiate a Template Function in C  ?

Menghasilkan Fungsi Templat Secara Eksplisit

Dalam senario ini, anda ingin membuat instantiate fungsi templat dengan satu hujah tanpa menggunakannya. Instalasi eksplisit melibatkan penciptaan contoh templat secara manual tanpa menggunakan panggilan fungsinya.

Anda menetapkan fungsi templat berikut:

template <class T> int function_name(T a) {}
Salin selepas log masuk

Sementara percubaan anda untuk membuat seketika fungsi seperti berikut:

template int function_name<int>(int);
Salin selepas log masuk

mengakibatkan ralat berikut:

error: expected primary-expression before 'template'
error: expected `;` before 'template'
Salin selepas log masuk

Pendekatan yang betul untuk menyatakan fungsi secara eksplisit adalah seperti berikut:

template <typename T> void func(T param) {} // definition

template void func<int>(int param); // explicit instantiation.
Salin selepas log masuk

Berbeza dengan instantiasi templat, pengkhususan templat melibatkan penentuan pelaksanaan khusus untuk jenis parameter templat tertentu. Untuk mengkhususkan templat func untuk parameter int, anda akan menggunakan sintaks berikut:

template <typename T> void func(T param) {} // definition

template <> void func<int>(int param) {} // specialization
Salin selepas log masuk

Perhatikan kurungan sudut selepas templat dalam sintaks pengkhususan.

Atas ialah kandungan terperinci Bagaimanakah Saya Menjelaskan Fungsi Templat 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