c++ 函数指针与回调函数

 函数指针

函数指针的声明:表明指定的函数返回类型、表明函数的特征标(参数列表)
注意:只有当一个函数的返回类型和参数列表和声明的函数指针的返回类型和参数列表一致的时候才可以进行传递,编译器拒绝这种赋值。
例如:

int get_sum(int a, int b);
int (*ptr)(int, int); // 声明函数指针ptr

 简单示例:

复制代码
int Func(string name)
{
    cout << name << endl;
    return 1;
}

int main() { 
    // 定义指针函数 参数string,返回int
    int (*funPtr)(string);
    funPtr = Func;
    // c++ 调用
    funPtr("c++");
    // c调用
    (*funPtr)("c");  
    return 0;
}
复制代码

 

 

回调函数

 通过使用函数指针来实现回调函数,传入的方法参数格式必须和函数指针一样,类似于c#的委托

复制代码
void Func(string name)
{
    cout << name << endl;
}

void show(void (*call)(string))
{
    // 经过一系列的逻辑处理之后回调Func方法
    call("cehi");
}

int main() {

    show(Func);
    return 0;
}
复制代码

 

posted @   安静点--  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示