Menggunakan Nama Kelas dalam Templat Kelas Tanpa Parameter Templat
Pertimbangkan kod berikut daripada buku C:
<code class="cpp">template <typename E> class Link { ... Link* next; // this line may be confusing ... };</code>
Dalam kod ini, ahli seterusnya diisytiharkan tanpa menyatakan hujah templat E, menimbulkan kebimbangan tentang ketepatannya. Bukankah sepatutnya Pautan
Penjelasan
Ini dijelaskan oleh konsep "nama kelas yang disuntik." Mengikut piawaian C [temp.local], apabila digunakan tanpa hujah templat, nama kelas dalam templat kelas adalah bersamaan dengan nama kelas diikuti dengan parameter templat yang disertakan dalam kurungan sudut. Oleh itu, dalam kes ini, Pautan* adalah bersamaan dengan Pautan
Peraturan ini bertujuan untuk kemudahan, memastikan bahawa nama kelas dalam kelas merujuk kepada kelas itu sendiri dan bukan entiti luaran dengan nama yang sama. Dalam kes templat kelas, ia menyediakan tatatanda singkatan, terutamanya apabila berurusan dengan senarai hujah templat lanjutan.
Atas ialah kandungan terperinci Adakah `Pautan* seterusnya` Menggunakan Nama Kelas yang Disuntik dalam Templat C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!