- 定义2个返回指针的函数
// 取最大值
int *max(int a, int b) {
int* result = new int(a > b ? a : b);
return result;
}
// 取最小值
int *min(int a, int b) {
int* result = new int(a < b ? a : b);
return result;
}
- 定义指向返回指针的函数的函数指针
void C0618Demo1() {
int* (*fn)(int, int);
fn = max;
int* result;
result = fn(2, 3);
cout << *result << endl;
// 要释放内存
delete result;
}
运行结果为:
4. 定义指针数组
void C0618Demo1() {
int* (*fn[2])(int, int);
fn[0] = max;
fn[1] = min;
int* result;
result = fn[0](2, 3);
cout << *result << endl;
int* result2;
result2 = fn[1](2, 3);
cout << *result2 << endl;
// 要释放内存
delete result;
delete result2;
}
运行结果为:
.