Templat dengan Parameter Bukan Jenis
Parameter templat biasanya digunakan untuk menentukan keperluan jenis, tetapi anda juga boleh mengisytiharkan templat dengan bukan- jenis parameter, seperti integer yang tidak ditandatangani.
Syntax and Meaning
Sintaks untuk templat dengan parameter bukan jenis ialah:
template <unsigned int N>
di mana N mewakili parameter bukan jenis. Parameter ini kemudiannya boleh digunakan dalam templat sebagai pemalar masa kompilasi jenis unsigned int.
Kes Penggunaan
Parameter bukan jenis berguna dalam pelbagai senario:
Parameter Jenis lwn Parameter Bukan Jenis
Adalah penting untuk mengambil perhatian perbezaan antara parameter jenis dan parameter bukan jenis. Parameter jenis mewakili jenis (cth., kelas T atau templat T), manakala parameter bukan jenis mewakili pemalar (cth., int N yang tidak ditandatangani).
Contoh
Pertimbangkan templat berikut:
template <unsigned int N>
struct Vector {
unsigned char bytes[N];
};
Di sini, N ialah parameter bukan jenis yang menentukan saiz tatasusunan bait.
<code class="cpp">Vector<3> v; // Vector with 3 bytes</code>
Nilai Lalai
Ada kemungkinan untuk menentukan nilai lalai untuk parameter bukan jenis, membenarkan templat digunakan tanpa memberikan parameter secara eksplisit. Contohnya:
<code class="cpp">template <unsigned int SIZE = 3> struct Vector { unsigned char buffer[SIZE]; };</code>
Templat di atas lalai SAIZ kepada 3, jadi yang berikut adalah sah:
<code class="cpp">Vector v; // Equivalent to Vector<3></code>
Kesimpulan
Bukan- parameter jenis dalam templat menawarkan fleksibiliti dan membenarkan penggunaan semula kod dengan nilai tetap atau tetap. Ia mendayakan pelbagai kes penggunaan, daripada saiz tatasusunan kepada penyusunan bersyarat.
Atas ialah kandungan terperinci Bilakah Anda Akan Menggunakan Parameter Bukan Jenis dalam Templat C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!