C++ menggunakan penunjuk fungsi sebagai parameter untuk membenarkan panggilan dinamik fungsi Sintaks ialah jenis pengembalian typedef (*nama penunjuk fungsi)(senarai parameter);. Penunjuk fungsi boleh digunakan sebagai argumen kepada fungsi lain, seperti apply_function(int_func_ptr func, int a, int b), yang secara dinamik melaksanakan fungsi dengan tandatangan yang sama (menerima dua argumen int dan mengembalikan int). Penunjuk fungsi digunakan secara meluas dalam aplikasi seperti memuatkan pemalam secara dinamik, mencipta fungsi panggil balik dan melaksanakan objek fungsi.
Penunjuk fungsi sebagai parameter fungsi dalam C++
Penunjuk fungsi menyediakan cara untuk memanggil fungsi secara dinamik dalam atur cara. Ia boleh dilaksanakan dengan menghantar nama fungsi ke fungsi lain sebagai parameter.
Sintaks untuk penunjuk fungsi
Untuk mengisytiharkan penunjuk fungsi, gunakan sintaks berikut:
typedef 返回类型 (*函数指针名)(参数列表);
Sebagai contoh, untuk mengisytiharkan penunjuk yang mengembalikan jenisint
dan mempunyaiint< /code> Untuk penunjuk fungsi parameter jenis, anda boleh menggunakan kod berikut:
int
类型且具有int
类型参数的函数的函数指针,可以使用以下代码:
typedef int (*int_func_ptr)(int);
使用函数指针
函数指针可用于作为其他函数的参数。例如,考虑以下函数:
int add(int a, int b) { return a + b; }
我们可以使用函数指针将此函数传递给另一个函数,如下所示:
int apply_function(int_func_ptr func, int a, int b) { return func(a, b); }
现在,我们可以使用apply_function
函数来执行任何具有与add
函数相同的签名(即接受两个int
参数并返回int
int result = apply_function(add, 5, 10); // 结果为 15
Menggunakan penunjuk fungsi
Penunjuk fungsi boleh digunakan sebagai parameter fungsi lain. Sebagai contoh, pertimbangkan fungsi berikut:rrreee
Kita boleh menghantar fungsi ini ke fungsi lain menggunakan penuding fungsi seperti berikut:apply_function
untuk melaksanakan sebarang fungsi dengan add mempunyai tandatangan yang sama (iaitu, ia menerima dua parameterint
dan mengembalikanint
), seperti ditunjukkan di bawah:Pemuatan dinamik pemalam
Mencipta fungsi panggil balik Melaksanakan objek fungsi Nota: pastikan fungsi itu sah apabila menggunakan penunjuk fungsi. Kegagalan berbuat demikian boleh mengakibatkan ranap program atau tingkah laku yang tidak ditentukan.Atas ialah kandungan terperinci Penunjuk fungsi C++ sebagai parameter penunjuk fungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!