高阶函数
一、使用函数指针实现高阶函数
#include <iostream>
void processArray(int arr[], int size, void (*func)(int)) {
for (int i = 0; i < size; i++) {
func(arr[i]);
}
}
void printValue(int value) {
std::cout << value << " ";
}
void doubleValue(int value) {
std::cout << value * 2 << " ";
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
std::cout << "Original array: ";
processArray(arr, size, printValue);
std::cout << std::endl;
std::cout << "Doubled array: ";
processArray(arr, size, doubleValue);
std::cout << std::endl;
return 0;
}二、使用函数对象(仿函数)实现高阶函数
三、使用 lambda 表达式实现高阶函数
Last updated