Dalam C++, penunjuk fungsi ialah pembolehubah yang menunjuk ke fungsi, yang boleh menghantar atau menyimpan fungsi secara dinamik sebagai parameter. Sintaksnya ialah: taip nama * nama fungsi. Apabila memperuntukkan, gunakan alamat penuding fungsi dan nyahrujuknya semasa membuat panggilan. Sebagai contoh, apabila mengira nilai maksimum menggunakan penunjuk fungsi, pengiraan dilakukan dengan memperuntukkan penunjuk fungsi dan memanggilnya.
Dalam C++, penunjuk fungsi ialah pembolehubah yang menunjuk ke fungsi. Ia membolehkan kami melepasi fungsi secara dinamik sebagai parameter atau menyimpannya dalam struktur data.
Penunjuk fungsi diisytiharkan seperti fungsi biasa, tetapi nama jenis diikuti dengan asterisk (*):
typedef void (*FunctionPointer)(int);
Kita boleh menetapkan alamat fungsi kepada penuding fungsi sama seperti penuding biasa:
FunctionPointer fp = &myFunction;
Kita boleh memanggilnya dengan membatalkan penunjuk fungsi:
fp(10);
Mari kita pertimbangkan program yang menggunakan penunjuk fungsi untuk mengira maksimum dua nombor:
#include <iostream> using namespace std; // 最大值函数 int max(int a, int b) { return a > b ? a : b; } // 函数指针比较函数 int compare(int a, int b, int (*fp)(int, int)) { return fp(a, b); } int main() { // 分配函数指针并调用它来计算两数的最大值 int (*fp)(int, int) = &max; int result = compare(5, 10, fp); // 打印结果 cout << "最大值:" << result << endl; return 0; }
Atas ialah kandungan terperinci Bagaimanakah penunjuk fungsi berfungsi dalam C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!