服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - c++函数指针和回调函数示例

c++函数指针和回调函数示例

2021-01-20 15:23C++教程网 C/C++

这篇文章主要介绍了c++函数指针和回调函数示例,需要的朋友可以参考下

1.函数指针

函数指针是一个指针,只是这个指针它不像普通的指针指向是是一个变量,此时它指向的是一个函数,也就是它存储的是一个函数的地址,如果我们改变它的值,让它所指向的地址由指向funA转变为指向funB,那么这个函数指针的作用就改变了。

2.回调函数

什么是回调函数呢?回调函数其实就是一个通过函数指针调用的函数!假如你把A函数的指针当作参数传给B函数,然后在B函数中通过A函数传进来的这个指针调用A函数,这就是回调机制。B函数就是回调函数。

3.函数指针的使用

3.1函数指针声明

typedef 返回类型(*函数指针类型名)(函参列表);

 

复制代码 代码如下:


#include <iostream>
using namespace std;

 

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

void min(int a,int b);
void max(int a,int b);

void min(int a,int b)
{   int minvalue=a<b?a:b;
    std::cout<<"min value is "<<minvalue<<"\n";
}

void max(int a,int b)
{   int maxvalue=a>b?a:b;
    std::cout<<"Max value is "<<maxvalue<<"\n";
}

int main()
{   Fun pFun=NULL; //定义函数指针变量pFun

    //pFun=min;  //两种赋值方式都支持
    pFun=&min;
    pFun(1,2);  //这里获得最小值

    //pFun=max;
    pFun=&max;
    pFun(1,2);  //这里获得最大值

    return 0;
}

 

延伸 · 阅读

精彩推荐