Dalam C++, penunjuk fungsi membolehkan kami mengendalikan fungsi sebagai parameter dan mencipta kod generik. Digabungkan dengan pengaturcaraan generik, kita boleh menggunakan parameter jenis untuk mencipta penunjuk fungsi dan kemudian menggunakannya untuk memanggil fungsi jenis data yang berbeza. Dengan cara ini, kita boleh mencipta kod berskala dan fleksibel serta mengelakkan menulis kod pendua untuk jenis data yang berbeza.
Penunjuk fungsi ialah penuding yang menunjuk ke fungsi. Dengan menggunakan penunjuk fungsi, kita boleh menghantar fungsi sebagai argumen dan mengendalikannya dengan cara yang serupa dengan pembolehubah lain. Dalam C++, sintaks penuding fungsi adalah seperti berikut:
typename (*function_pointer)(parameters);
Pengaturcaraan generik ialah teknik untuk memanipulasi jenis data yang berbeza dengan kod biasa. Menggunakan generik, kita boleh menulis fungsi atau kelas sekali dan membuat instantiat menggunakan pelbagai jenis data. Kod generik menggunakan parameter jenis, biasanya diwakili sebagai huruf, seperti T
或 U
.
Penunjuk fungsi dan pengaturcaraan generik boleh digunakan bersama untuk mencipta kod yang sangat fleksibel dan berskala. Kita boleh mencipta penuding fungsi menggunakan parameter jenis generik dan kemudian menggunakannya untuk memanggil fungsi yang berbeza berdasarkan jenis data yang berbeza.
Mari kita pertimbangkan fungsi yang membandingkan dua nombor. Kita boleh menggunakan penunjuk fungsi dan jenis generik untuk mencipta fungsi perbandingan universal yang boleh membandingkan mana-mana jenis data:
template<typename T> int compare_func(T a, T b, int (*comparison_function)(T, T)) { return comparison_function(a, b); }
Kini kita boleh menggunakan penunjuk fungsi ini dengan fungsi perbandingan yang berbeza seperti:
// 定义比较函数 int compare_int(int a, int b) { return a - b; } int compare_float(float a, float b) { return a - b; } // 使用泛型函数指针 int result = compare_func(10, 20, compare_int); float result2 = compare_func(1.5f, 2.5f, compare_float);
Ini Pendekatan ini menawarkan beberapa kelebihan:
Atas ialah kandungan terperinci Penunjuk Fungsi C++ dan Pengaturcaraan Generik: Mencipta Kod Boleh Skala. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!