Templat fungsi C++ membenarkan generalisasi penunjuk fungsi dan menyokong penunjuk fungsi pelbagai jenis parameter. Langkah-langkah khusus adalah seperti berikut: mengisytiharkan templat fungsi dengan penuding fungsi, dengan T ialah parameter jenis templat. Lulus penuding fungsi untuk digeneralisasikan sebagai parameter kepada fungsi templat. Fungsi templat mengembalikan penunjuk fungsi generik.
Gunakan templat fungsi C++ untuk menyamaratakan penuding fungsi
Pengenalan
Penunjuk fungsi C++ menyediakan cara untuk menghantar fungsi sebagai parameter atau mengembalikan nilai. Walau bagaimanapun, jika anda ingin mencipta penunjuk fungsi yang menyokong parameter pelbagai jenis, anda perlu menggunakan templat fungsi. Templat fungsi boleh menjana versi fungsi yang berbeza dengan parameter jenis tertentu.
Sintaks Templat Fungsi
Berikut ialah cara mengisytiharkan templat fungsi dengan penuding fungsi:
template <typename T> auto make_function_pointer(T function) { return function; }
di mana:
T
是要使用的类型的模板参数。它可以是任何类型,包括函数指针类型。function
Kes Praktikal
Mari buat penunjuk fungsi generik yang boleh menerima sebarang jenis fungsi dan mengembalikannya sebagai integer.#include <iostream> template <typename T> int generic_function_pointer(T function) { return function(); } int main() { // 定义一个函数,返回一个整数 int my_function() { return 10; } // 创建一个泛型函数指针 auto function_ptr = generic_function_pointer(my_function); // 调用函数指针 int result = function_ptr(); std::cout << "Result: " << result << std::endl; return 0; }
Result: 10
Atas ialah kandungan terperinci Bagaimana untuk menggunakan templat fungsi C++ untuk menjanakan penunjuk fungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!