Lebihan penuding fungsi C++ melaksanakan penuding kepada berbilang fungsi dengan nama yang sama tetapi parameter yang berbeza atau nilai pulangan dengan menyatakan tandatangan fungsi yang berbeza. Pengaturcaraan generik menggunakan templat untuk mencipta fungsi dan struktur data yang berfungsi dengan pelbagai jenis data, menjadikan kod boleh digunakan semula. Menggunakan lebihan penuding fungsi memerlukan penulisan fungsi yang berasingan untuk setiap jenis, manakala pengaturcaraan generik menggunakan fungsi biasa untuk mengendalikan semua jenis. . Ini dicapai dengan menjadikan bahagian tandatangan fungsi daripada jenis penunjuk.
int add(int x, int y); double add(double x, double y); int* addPtr = add; // 指向 int 版本的函数 double* addPtr = add; // 指向 double 版本的函数
Pengaturcaraan Generik
Pengaturcaraan generik menggunakan templat untuk mencipta fungsi dan struktur data yang boleh digunakan pada jenis data yang berbeza. Ia membolehkan anda menulis kod boleh guna semula yang tidak khusus untuk mana-mana jenis tertentu.template <typename T> T max(T a, T b) { return (a > b) ? a : b; }
Kes Praktikal
Pertimbangkan program yang perlu menjumlahkan data pelbagai jenis:
// using function pointers int sum(int* arr, int len) { int result = 0; for (int i = 0; i < len; i++) { result += arr[i]; } return result; } double sum(double* arr, int len) { double result = 0.0; for (int i = 0; i < len; i++) { result += arr[i]; } return result; } // using templates template <typename T> T sum(T* arr, int len) { T result = 0; for (int i = 0; i < len; i++) { result += arr[i]; } return result; }
Atas ialah kandungan terperinci Bagaimana untuk menggunakan lebihan penuding fungsi C++ dan pengaturcaraan generik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!