Perbandingan templat C++ dan generik?

WBOY
Lepaskan: 2024-06-04 16:24:12
asal
373 orang telah melayarinya

Perbezaan antara templat dan generik dalam C++: Templat: ditakrifkan pada masa penyusunan, ditaip dengan jelas, kecekapan tinggi dan saiz kod yang kecil. Generik: menaip masa jalan, antara muka abstrak, menyediakan fleksibiliti, kecekapan rendah. .

Perbandingan templat C++ dan generik?Generik:

Antara muka abstrak di mana kod boleh beroperasi pada pelbagai jenis data, ditaip pada masa jalan.

Perbezaan

  • Ciri-ciriTemplat
  • Generik

Penempatan masa takrifan

DitaipEksplisitDisimpulkanKecekapan lebih cepat mengira jenis data yang berbeza Nilai maksimum, contohnya :
template<typename T>
T max(T a, T b) {
  return (a > b) ? a : b;
}
Salin selepas log masuk
Generik:
int max_int = max(10, 20); // 输出:20
double max_double = max(3.14, 2.71); // 输出:3.14
Salin selepas log masuk
class NumberComparator {
public:
  bool operator()(int a, int b) const {
    return a < b;
  }
};
Salin selepas log masuk
Kesimpulan
Kelas generik ini melaksanakan antara muka untuk membandingkan integer dan boleh digunakan untuk algoritma pengisihan yang berbeza:
Kedua-dua templat dan ciri C++ yang berkuasa adalah kedua-dua templat dan ciri C++ yang berkuasa jenis data. Templat ditaip pada masa penyusunan, menjadikannya lebih cekap dan lebih kecil dalam saiz kod. Generik melakukan inferens jenis pada masa jalan dan menyediakan antara muka yang lebih abstrak, tetapi kurang cekap sedikit.

Atas ialah kandungan terperinci Perbandingan templat C++ dan generik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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