Memilih antara 'kelas' dan 'nama taip' untuk Parameter Templat
Dalam C , apabila mengisytiharkan fungsi atau templat kelas, seseorang boleh menggunakan sama ada kelas T atau nama taip T untuk parameter templat. Ini menimbulkan persoalan: adakah terdapat sebab yang kukuh untuk memilih satu bentuk berbanding yang lain?
Kesetaraan dan Sintaksis
Kedua-dua kelas T dan nama taip T secara amnya setara dengan a perspektif penyusun. Walau bagaimanapun, bermula dengan C 17, nama taip kata kunci amat disyorkan untuk digunakan apabila menentukan parameter templat templat bersarang, dengan berkesan menggantikan keperluan sebelumnya untuk menggunakan kelas dalam kes sedemikian.
Keutamaan Penggunaan
Walaupun persamaan asasnya, sesetengah pengaturcara lebih suka menggunakan nama taip atau kelas secara konsisten untuk pelbagai sebab:
TypeName Preference:
Kelas Keutamaan:
Penggunaan Dwi:
Tiada Keutamaan:
Latar Belakang Sejarah
Perbezaan antara kelas dan nama taip muncul dalam evolusi templat C. Pada mulanya, hanya kelas digunakan, tetapi kebimbangan tentang kemungkinan kekeliruan menyebabkan penciptaan nama taip sebagai kata kunci berasingan khusus untuk menentukan jenis templat. Walau bagaimanapun, untuk mengelak daripada memecahkan keserasian ke belakang, kelas terus dibenarkan untuk tujuan ini.
Kesimpulannya, walaupun kedua-dua kelas dan nama taip boleh digunakan secara bergantian untuk kebanyakan tujuan praktikal, pilihan antara mereka selalunya bergantung kepada keutamaan peribadi atau pematuhan kepada konvensyen tertentu. Semakan C 17 terbaharu menjelaskan penggunaan nama taip pilihan untuk parameter templat templat bersarang, memastikan sintaks yang konsisten dan tidak jelas untuk binaan kompleks ini.
Atas ialah kandungan terperinci Bilakah Anda Harus Menggunakan `class` vs. `typename` untuk Parameter Templat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!