函数作为参数传递至函数内部进行调用

回调函数的简单使用

由于函数内部的一个函数内部需要调用一个函数A,一般的做法是包含A所在的头文件,有时候这样做会导致头文件的相互包含,层次结构不清晰。此时有另一种较好的方法就是将函数A做为参数传递进函数,即采用回调函数。下面是进行测试的简单例子:

callback.h

#ifndef CALLBACK_H

#define CALLBACK_H

namespace cb {

int Add(int i,int j);

int Multi(int i,int j);

int fun(int i,int j,int (*p_func)(int,int));

}

#endif // CALLBACK_H

callback.cpp

#include "callback.h"

namespace cb {

int Add(int i,int j){

return i+j;

}

int Multi(int i,int j){

return i*j;

}

int fun(int i,int j,int (*p_func)(int,int)){

return  (*p_func)(i,j);

}

}

main.cpp

#include <QCoreApplication>

#include"callback.h"

#include<QDebug>

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

{

QCoreApplication a(argc, argv);

qDebug()<<cb::Add(9,8)<<endl;

qDebug()<<cb::fun(9,8,cb::Add)<<endl;

//两个语句输出结果相同

return a.exec();

}

函数作为参数传递至函数内部进行调用相关推荐

  1. Python函数作为参数传递给函数

    Python中一切皆对象(object).–Dive Into Python 既然一切皆对象,那么一切都可以作为参数传递! 1.定义两个简单的函数 函数1–add_params(a,b): a,b两个 ...

  2. C++中函数作为参数传递给其他函数

    简单的说,如果有函数的参数声明为函数指针类型的.则可以给函数传入另一个函数作为它的参数,在函数的内部可以调用传入的函数: 例如下面给一些例子: int add(int x, int y) // 定义函 ...

  3. ostream作为函数返回值_函数的调用(一)

    函数作为计算机代码的一种抽象方式,它的作用不言而喻! 原文链接 认识函数: 定义:函数是一段代码的表示,是一段具有特定功能的,可重用的语句组 函数是一种功能的抽象,一般函数表达特定功能 两个作用:降低 ...

  4. 函数指针(函数作为参数传递给其他函数)

    函数也有地址,函数的地址是存储其机器码的内存的开始的地址,并且函数的地址就是其函数名.因此我们可以将函数作为参数传递给其他函数.正如python中可以将函数轻易的传递给其他函数一样,但是C++中形式上 ...

  5. Linux C 函数指针应用---回调函数

    (这里引用了知乎上一些知友的回答,感觉不错,有助于理解,这里引用作为借鉴,如有冒犯,烦请告知) 我们先来回顾一下函数指针,函数指针是专门用来存放函数地址的指针,函数地址是一个函数的入口地址,函数名代表 ...

  6. react封装函数_react request.js 函数封装

    1.request.js  函数封装 import { Toast } from 'antd-mobile'; import axios from 'axios'; import store from ...

  7. Linux C 函数指针应用---回调函数

    (这里引用了知乎上一些知友的回答,感觉不错,有助于理解,这里引用作为借鉴,如有冒犯,烦请告知) 我们先来回顾一下函数指针,函数指针是专门用来存放函数地址的指针,函数地址是一个函数的入口地址,函数名代表 ...

  8. shell调用python脚本传递命名关键字参数_关于python:将字典作为关键字参数传递给函数...

    我想使用字典在python中调用函数. 这是一些代码: d = dict(param='test') def f(param): print(param) f(d) 这打印{'param': 'tes ...

  9. python调用子函数时参数传递问题

    场景: python建立子函数,在主程序中进行调用. 问题描述 将全局变量传入子函数,子函数中对局部变量进行修改导致全局变量发生. 示例代码: import numpy as np def softm ...

最新文章

  1. 酒店中计算机信息应用的重要性,浅析计算机在酒店管理中所体现的应用价值
  2. gridview 实现自增加列
  3. 计算机网络-基本概念(7)【网络层】-多协议标记交换MPLS
  4. [小技巧]C#中如何为枚举类型添加描述方法
  5. 面试问题整理笔记系列 一 Java容器类
  6. Spring Boot 2.2 正式发布,大幅性能提升 + Java 13 支持
  7. Mysql数据库Sql语句执行效率-Explain
  8. IO流-ReadLine方法的原理 自定义BufferedReader
  9. On the other hand, regarding Linux Mint’s
  10. MediaCodec 编码H264 编码一帧后dequeueOutputBuffer为-1的问题
  11. 面试题--------7、Files的常用方法
  12. [原创] 若水新闻安卓客户端开发教程笔记
  13. C#获取扫码枪扫描数据并处理
  14. Python复杂对象转JSON
  15. GAMES101-讲课极棒的闫令琪老师-个别概念理解
  16. Pycharm修改镜像源并添加信任
  17. 数字档案馆系统测试办法
  18. 一个微信群机器人PHP,vbot微信机器人操作联系人的API(3)微信群API
  19. Spring Cloud的基本认识和使用Spring Cloud的基本教程
  20. 如何在金仓数据库KingbaseES中使用pg_get_function_arg_default函数

热门文章

  1. 腾讯 2016 春季实习校招 HR 面回忆(C++后台)
  2. (Life)质量和服务_由购买联想笔记本想到的
  3. 通道的分离与合并,ROI,
  4. 实验5 —— 编写、调试具有多个段的程序
  5. Flask 的 template模板 与 jinja2语法
  6. servlet (七)javaBean
  7. html中div的居中
  8. docker安装tomcat下的日志查看
  9. Uber 踉跄上市、Facebook 要被拆分?!| 一周热闻回顾
  10. tomcat相关问题汇总