函数指针作为类型的定义


   在回调函数中,经常需要将函数的指针类型作为参数传入到回调函数中,在回调函数中执行指针函数。

   指针函数的组成如下图所示:

    

    当typedef去掉时,pFunc就是一个函数指针变量。

    常规的定义方法如下:

#include <string>
using namespace std;

//函数指针类型定义
typedef int (*pFunc)(int, int);

int add(int a, int b)
{
    return a+b;
}

int main(int argc, char *argv[])
{

    pFunc pAdd = add;
    cout << pAdd(3, 5) << endl;
    return 0;
}

  也可以如下定义:

  

 
 
#include <string>
using namespace std;

//重定义一个函数原型
typedef int func(int, int);

//重定向函数原型指针为函数指针类型
typedef func* pFunc;

int add(int a, int b)
{
    return a+b;
}
int main(int argc, char *argv[])
{

    pFunc pAdd = add; cout << pAdd(3, 5) << endl; return 0; }

 

   如需转载,请标明出处,谢谢


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM