C++指向函数的指针
2014-03-19 11:21
183 查看
函数指针是指向函数而非指向对象的指针。与其他类型的指针一样,函数指针也指向某个特定的类型。函数类型由其返回类型以及形参表确定,而与函数名无关。(类似C#中的代理)
函数指针的声明如下:
返回值类型 (*函数指针名)(函数参数列表)
例如:double (*fun)(double, double)
先看一个实例:
运行结果如下:
函数指针只能通过同类型的函数或函数指针或0常量表达式进行初始化或赋值。
函数指针有两个用途:调用函数和做函数的参数。
做函数的参数实例如下:
运行结果如下:
函数指针的声明如下:
返回值类型 (*函数指针名)(函数参数列表)
例如:double (*fun)(double, double)
先看一个实例:
#include <iostream> using namespace std; double add(double num1, double num2) { return num1 + num2; } double add(double num1, double num2, double num3) { return num1 + num2 + num3; } int main() { double (*funAdd)(double ,double) = add; double result = funAdd(12,13); cout<<result<<endl; double (*funAdd3)(double, double, double) = add; result = funAdd3(1,2,3); cout<<result<<endl; }
运行结果如下:
25 6 按任意键继续...
函数指针只能通过同类型的函数或函数指针或0常量表达式进行初始化或赋值。
函数指针有两个用途:调用函数和做函数的参数。
做函数的参数实例如下:
#include <iostream> using namespace std; void fun(int num1, int num2, int (*fp)(int, int)) { int result = fp(num1, num2); cout<<result<<endl; } int add(int num1, int num2) { return num1 + num2; } int subtract(int num1, int num2) { return num1 - num2; } int main() { fun(12,13,add); fun(12,13,subtract); return 0; }
运行结果如下:
25 -1 按任意键继续...
相关文章推荐
- C++ 指向成员函数指针问题
- C/C++语言中指向函数的指针
- C/C++语言中指向函数的指针
- 针对上一篇指针问题详细说明(c++向函数传递指针并修改其指向的问题)
- 学习札记: C++指向函数的指针
- 【C++】指向函数的指针与返回指针的函数
- C/C++语言中指向函数的指针
- 【C++】对于指针参数在函数体内改变指向,为何从函数出来之后并没有改变?
- C++ VS C#(7):指向函数的指针和委托
- C++指向类成员函数的指针
- C/C++——指向函数的指针和指向函数的指针的数组
- C++中关于指向对象成员函数打指针例子
- C++指向类成员函数的指针详细解析
- C++中指向函数指针的指针数组
- C++ 函数参数传递-传递指向指针的引用
- C/C++语言中指向函数的指针
- C/C++语言中指向函数的指针
- C++ VS C#(7):指向函数的指针和委托
- C++ 类中指向函数的指针 以及 类模板
- C++指向成员函数的指针