zoukankan      html  css  js  c++  java
  • 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
    }
  • 相关阅读:
    JSON解析
    [Git的常见使用方式]
    [二进制]原码,反码,补码
    [伪] 级联菜单,两级菜单
    [心得]Java开发中的小心得
    [纪录]仿IOS滚轮效果(竖直滑动选择器)
    web测试总结
    科目组2
    科目组
    凭证:条目视图,总账视图
  • 原文地址:https://www.cnblogs.com/youxin/p/2452620.html
Copyright © 2011-2022 走看看