Templat fungsi C++ dan pengaturcaraan generik membenarkan penciptaan kod generik yang menerima jenis data yang berbeza, mencapai kebebasan jenis melalui parameter jenis dan kelas templat. Faedah termasuk kebolehgunaan semula kod, keselamatan jenis dan pengoptimuman prestasi. Templat fungsi (seperti "cetak") dan kelas generik (seperti "Vektor") membolehkan anda menulis kod yang bebas jenis, cekap dan boleh digunakan semula.
Templat Fungsi C++ dan Pengaturcaraan Generik
Pengenalan
Templat fungsi membolehkan anda mencipta fungsi generik yang menerima pelbagai jenis data. Pengaturcaraan generik meluaskan lagi konsep ini, membolehkan anda menulis kod bebas jenis, cekap dan boleh digunakan semula.
Templat Fungsi
Templat fungsi menggunakan parameter jenis untuk mewakili jenis data pemegang tempat. Contohnya:
template<typename T> void print(T value) { std::cout << value << std::endl; }
Fungsi templat ini menerima nilai sebarang jenis data T
的值并将其打印到控制台。
泛型编程
泛型编程将类型参数从函数中分离出来,方法是使用模板类。例如:
template<typename T> class Vector { public: T* data; int size; Vector() : data(nullptr), size(0) {} ~Vector() { delete[] data; } // ...其他方法... };
这个 Vector
Pengaturcaraan GenerikPengaturcaraan generik memisahkan parameter jenis daripada fungsi dengan menggunakan kelas templat. Contohnya:
template<typename T> void sort(Vector<T>& v) { for (int i = 0; i < v.size - 1; i++) { for (int j = i + 1; j < v.size; j++) { if (v.data[j] < v.data[i]) { std::swap(v.data[i], v.data[j]); } } } }
Vector
boleh menyimpan sebarang jenis elemen data. Isih vektorBerikut ialah contoh algoritma pengisihan generik:
rrreeeAtas ialah kandungan terperinci Templat fungsi C++ dan pengaturcaraan generik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!