文章目录
-
背景
C++允许对指向函数的指针进行操作。它最大的作用是把一个函数作为参数传递给另一个函数。声明一个函数指针像声明一个函数原型一样,除了函数的名字需要被括在括号内并在前面加*号 -
代码例子
#include <iostream>
using namespace std;
int addition(int a,int b)
{
return (a + b);
}
int subtraction(int a, int b)
{
return (a-b);
}
int(*myf) (int,int) = subtraction;
int operation(int x,int y,int(*functocall)(int,int))
{
int g;
g = (*functocall)(x,y);
return (g);
}
int main()
{
int m,n;
m = operation(7,5,addtion);
n = operation(20,m,myf);
std::cout<<n<<std::endl;
return 0;
}
g++ test.cpp -o test
./test
8
- 代码解释
myf是全局指针,参数是两个int类型的,返回值也是int类型的,这是在定义一个指针变量,指向函数subtraction