• c++函数作为参数传递


       把函数作为参数传递,常用的方法之一是用typedef定义一个函数指针。

    #include<iostream>
    using namespace std;
    
    typedef int (*pf)(int,int);  //此种方式最容易理解,定义了一个函数指针类型;函数名就是指针。
    
    int f(pf p,int a,int b)
    
    {
        return p(a,b);
    }
    int add(int a,int b)
    {
        return a+b;
    }
    
    int main(){
        cout<<f(add,1,2)<<endl;//3
    }

    还可以这样:

    #include<iostream>
    using namespace std;
    
    typedef int FuncType(int,int); //定义了FuncType这种函数数据类型
    
    int f(FuncType p,int a,int b)   //新建了FuncType p变量  这里将p前面加*,照常运行。???
    
    {
    return p(a,b);
    }
    int add(int a,int b)
    {
    return a+b;
    }
    
    int main(){
    cout<<f(add,1,2)<<endl;//3
    }

    还可以这样:

    #include<iostream>
    using namespace std;
    
    int f(int add(int,int),int a,int b) //与第二种方式,不同,直接使用实例
    
    {
        return add(a,b);
    }
    int add(int a,int b)
    {
        return a+b;
    }
    
    int main(){
        cout<<f(add,1,2)<<endl;//3
    }
  • 相关阅读:
    pyinstaller模块
    使用reduce方法数组去重
    Linux的关机与重启命令
    splice和slice的区别
    发现splice的新大陆
    text-decoration和outline
    前端中关于堆和栈的那些事
    git
    前端代码规范
    弹性布局在项目中的使用示例
  • 原文地址:https://www.cnblogs.com/youxin/p/2452620.html
Copyright © 2020-2023  润新知