函数作为参数传递至函数内部进行调用
函数作为参数传递至函数内部进行调用
回调函数的简单使用
由于函数内部的一个函数内部需要调用一个函数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();
}
函数作为参数传递至函数内部进行调用相关推荐
- Python函数作为参数传递给函数
Python中一切皆对象(object).–Dive Into Python 既然一切皆对象,那么一切都可以作为参数传递! 1.定义两个简单的函数 函数1–add_params(a,b): a,b两个 ...
- C++中函数作为参数传递给其他函数
简单的说,如果有函数的参数声明为函数指针类型的.则可以给函数传入另一个函数作为它的参数,在函数的内部可以调用传入的函数: 例如下面给一些例子: int add(int x, int y) // 定义函 ...
- ostream作为函数返回值_函数的调用(一)
函数作为计算机代码的一种抽象方式,它的作用不言而喻! 原文链接 认识函数: 定义:函数是一段代码的表示,是一段具有特定功能的,可重用的语句组 函数是一种功能的抽象,一般函数表达特定功能 两个作用:降低 ...
- 函数指针(函数作为参数传递给其他函数)
函数也有地址,函数的地址是存储其机器码的内存的开始的地址,并且函数的地址就是其函数名.因此我们可以将函数作为参数传递给其他函数.正如python中可以将函数轻易的传递给其他函数一样,但是C++中形式上 ...
- Linux C 函数指针应用---回调函数
(这里引用了知乎上一些知友的回答,感觉不错,有助于理解,这里引用作为借鉴,如有冒犯,烦请告知) 我们先来回顾一下函数指针,函数指针是专门用来存放函数地址的指针,函数地址是一个函数的入口地址,函数名代表 ...
- react封装函数_react request.js 函数封装
1.request.js 函数封装 import { Toast } from 'antd-mobile'; import axios from 'axios'; import store from ...
- Linux C 函数指针应用---回调函数
(这里引用了知乎上一些知友的回答,感觉不错,有助于理解,这里引用作为借鉴,如有冒犯,烦请告知) 我们先来回顾一下函数指针,函数指针是专门用来存放函数地址的指针,函数地址是一个函数的入口地址,函数名代表 ...
- shell调用python脚本传递命名关键字参数_关于python:将字典作为关键字参数传递给函数...
我想使用字典在python中调用函数. 这是一些代码: d = dict(param='test') def f(param): print(param) f(d) 这打印{'param': 'tes ...
- python调用子函数时参数传递问题
场景: python建立子函数,在主程序中进行调用. 问题描述 将全局变量传入子函数,子函数中对局部变量进行修改导致全局变量发生. 示例代码: import numpy as np def softm ...
最新文章
- 酒店中计算机信息应用的重要性,浅析计算机在酒店管理中所体现的应用价值
- gridview 实现自增加列
- 计算机网络-基本概念(7)【网络层】-多协议标记交换MPLS
- [小技巧]C#中如何为枚举类型添加描述方法
- 面试问题整理笔记系列 一 Java容器类
- Spring Boot 2.2 正式发布,大幅性能提升 + Java 13 支持
- Mysql数据库Sql语句执行效率-Explain
- IO流-ReadLine方法的原理 自定义BufferedReader
- On the other hand, regarding Linux Mint’s
- MediaCodec 编码H264 编码一帧后dequeueOutputBuffer为-1的问题
- 面试题--------7、Files的常用方法
- [原创] 若水新闻安卓客户端开发教程笔记
- C#获取扫码枪扫描数据并处理
- Python复杂对象转JSON
- GAMES101-讲课极棒的闫令琪老师-个别概念理解
- Pycharm修改镜像源并添加信任
- 数字档案馆系统测试办法
- 一个微信群机器人PHP,vbot微信机器人操作联系人的API(3)微信群API
- Spring Cloud的基本认识和使用Spring Cloud的基本教程
- 如何在金仓数据库KingbaseES中使用pg_get_function_arg_default函数