巧用C/C++语言函数指针

来源:互联网 发布:合肥腾锦网络 编辑:程序博客网 时间:2024/06/14 13:05

前段时间调试Caffe源码程序,在调试的过程碰到函数指针问题,因为第一次接触,迷惑了很久,在此归纳一些,以备知识储存!

函数指针字义类型如下:

typedef int (*fun)(int) 其中类型可为int,float,void等等。

example:比如算术运算中的加减乘除运算,可以统一进行定义。

#include "iostream"typedef float(*fun)(float,float);float su(float a, float b){return (a + b);}float reduc(float a, float b){return (a - b);}float rid(float a, float b){return (a * b);}float divisio(float a, float b){return (a / b);}enum MyEnum{sum,reduce,ride,divi};void calculate(int order,float a,float b){fun words[4] = { &su, &reduc, &rid, &divisio };fun bb = words[order];printf("%f", (*bb)(a, b));}void main(){calculate(ride, 5, 6);}

0 0
原创粉丝点击