Penunjuk fungsi dalam C++ ialah pembolehubah yang menunjuk ke fungsi, membenarkan fungsi dihantar sebagai hujah. Menggunakan penunjuk fungsi anda boleh mentakrifkannya, menetapkan nama fungsi atau ungkapan lambda kepada mereka dan memanggilnya seperti fungsi biasa. Penunjuk fungsi digunakan secara meluas dalam pengendali fungsi, seperti operator fungsi isihan, membenarkan fungsi pengisihan dibuat dan digunakan pada masa jalan.
Penunjuk fungsi ialah pembolehubah yang menunjuk kepada fungsi. Ia menyediakan keupayaan untuk menghantar fungsi sebagai hujah dan fleksibiliti memanggil fungsi semasa runtime.
Dalam C++, penuding fungsi boleh ditakrifkan seperti berikut:
returntype (*function_ptr_name)(param_type1, param_type2, ...);
Sebagai contoh, tentukan penunjuk kepada fungsi yang menerima dua parameter integer dan mengembalikan integer:
int (*add_pointer)(int, int);
add_pointer = add; // 假设 add 是一个接收两个整数并返回整数的函数
add_pointer = [](int a, int b) -> int { return a + b; };
int result = add_pointer(10, 20);
dengan fungsi perbandingan: std::sort
#include <iostream> #include <vector> #include <algorithm> int main() { std::vector<int> numbers = {3, 1, 5, 2, 4}; // 定义比较函数指针 int (*compare_func)(int, int) = [](int a, int b) -> bool { return a < b; }; // 使用函数指针排序 std::sort(numbers.begin(), numbers.end(), compare_func); // 输出排序后的结果 for (const auto& number : numbers) { std::cout << number << ' '; } return 0; }
Atas ialah kandungan terperinci Definisi dan penggunaan penunjuk fungsi dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!