C++异步回调编程相关:lambda表达式,函数指针,std::function

文章目录

  • 函数指针
    • 传参
  • lambda表达式
    • 直接通过[]捕获列表得到上下文的参数
  • std::function

在C++编程中,异步的回调调用是一个非常普遍的场景,而回调的调用最基本的方式是使用函数指针的方式,这个应该是在C编码环境中,换到C++的编码环境中,std库和C++11以后的标准提供了两外的选择。

我自己经常用到的回调相关的技术主要是下面三个方面:

  • 函数指针
  • lambda表达式
  • std::function

函数指针

函数指针式比较经典C风格的编码方式:

typedef int (*DEMO_FUNC_PTR)(int a, int b);

int func(int a, int b)
{
    std::cout<<"a is: " << a << "b is: "<< b << std::endl;
}

int main()
{
    DEMO_FUNC_PTR func_ptr = func;

    func_ptr(100, 200);
  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/588709.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

nginx--自定义日志跳转长连接文件缓存状态页

自定义日志服务 [rootlocalhost ~]# cat /apps/nginx/conf/conf.d/pc.conf server {listen 80;server_name www.fxq.com;error_log /data/nginx/logs/fxq-error.log info;access_log /data/nginx/logs/fxq-access.log main;location / {root /data/nginx/html/pc;index index…

C/C++ BM33 二叉树的镜像

文章目录 前言题目解决方案一1.1 思路阐述1.2 源码 总结 前言 镜像说的好听&#xff0c;无非就是换下节点。 题目 操作给定的二叉树&#xff0c;将其变换为源二叉树的镜像。 数据范围&#xff1a;二叉树的节点数 0 ≤ n ≤ 1000 0≤n≤1000 0≤n≤1000&#xff0c; 二叉树每…

ThreeJS:本地部署官网文档与案例

部署方式 部署之前请确保已经配置好node.js环境。 1. 下载ThreeJS源码 ThreeJS的GitHub地址&#xff1a;GitHub - mrdoob/three.js: JavaScript 3D Library.&#xff0c;可以简单查看ThreeJS当前版本&#xff1a;r164&#xff0c; 我们可以选择对应的版本&#xff08;此处为r1…

打印机-STM32版本 硬件部分

最终PCB EDA工程: 一、确定芯片型号 根据项目需求&#xff0c;梳理需要用到的功能&#xff0c; 电量检测&#xff1a;ADC 按键&#xff1a;IO input外部中断 LED&#xff1a;IO output 温度检测&#xff1a;ADC 电机控制&#xff1a;IO output 打印通讯&#xff1a;SPI …

淘宝/天猫商品评论API接口:用户反馈实时追踪与商家决策优化

一、引言 在电子商务迅猛发展的今天&#xff0c;淘宝/天猫作为中国最大的电子商务平台之一&#xff0c;为众多商家提供了广阔的舞台。然而&#xff0c;面对日益激烈的市场竞争&#xff0c;如何精准把握用户需求、优化产品策略、提升服务质量&#xff0c;成为摆在众多商家面前的…

Linux环境与历史和Xshell安装与使用

各位大佬好 &#xff0c;这里是阿川的博客 &#xff0c; 祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 Linux是一个操作系统.全称叫Linux is not UNIX。由…

【C++】哈希的应用---位图

目录 1、引入 2、位图的概念 3、位图的实现 ①框架的搭建 ②设置存在 ③设置不存在 ④检查存在 ​4、位图计算出现的次数 5、完整代码 1、引入 我们可以看一道面试题 给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无符号整数&#xff0c;如何快速判断一个数…

通过iMock学习Jvmsandbox

Jvm-sandbox Jvm-sandbox基于Jvm-sandbox的Mock平台iMockiMock的工程学习iMock怎么写的&#xff08;sandbox的module应该怎么写&#xff09; Jvm-sandbox Jvm-sandbox是阿里开源的一款java的沙箱&#xff0c;看网上的介绍在沙箱里你可以做你能想到的奇妙的事情。 基于Jvm-san…

智慧旅游开启智慧生活,科技让旅行更轻松:通过智慧旅游,旅行者可以享受到更加便捷、高效的旅行服务,让旅行成为生活的一部分

一、引言 随着科技的飞速发展&#xff0c;我们生活的方方面面都在经历着前所未有的变革。旅游业作为服务业的重要组成部分&#xff0c;也在这场变革中迎来了前所未有的发展机遇。智慧旅游&#xff0c;作为科技与旅游深度融合的产物&#xff0c;正以其独特的魅力&#xff0c;引…

瑞_23种设计模式_解释器模式

文章目录 1 解释器模式&#xff08;Interpreter Pattern&#xff09;1.1 介绍1.2 概述1.2.1 文法&#xff08;语法&#xff09;规则1.2.2 抽象语法树 1.3 解释器模式的结构1.4 解释器模式的优缺点1.5 解释器模式的使用场景 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代…

信息时代的智慧导航:高效搜索、信息筛选与信任构建的全面指南!

文章目录 一、高效搜索&#xff1a;快速定位目标信息的秘诀二、信息筛选&#xff1a;去伪存真&#xff0c;找到有价值的信息三、信任构建&#xff1a;深入了解与直接沟通《搜索之道&#xff1a;信息素养与终身学习的新引擎》亮点内容简介目录获取方式 随着科技的飞速发展&#…

小白总结uniapp微信小程序跨域问题的解决(前端)

前言&#xff1a;本人前端小白一枚&#xff0c;在B站听了一个很不错的视频&#xff0c;关于uniapp Vue3超详细教程&#xff0c;有需要的小伙伴可以去听&#xff0c;受益匪浅&#xff0c;下面是该博主的链接&#xff1a; gitee源码地址&#xff1a;https://gitee.com/qingnian8/…

windows 驱动开发-DMA技术(三)

在早期&#xff0c;是按照基于包或者基于流的方式来描述DMA的&#xff0c;不过这个描述可能不准确&#xff0c;故在Vista之后修改为使用数据包/使用公共缓冲区的系统DMA。 简单的解释一下基于包和基于流的说法的原因&#xff0c;数据包是指一个个基于一定大小的数据块&#xf…

Tensorflow2.0笔记 - ResNet实践

本笔记记录使用ResNet18网络结构&#xff0c;进行CIFAR100数据集的训练和验证。由于参数较多&#xff0c;训练时间会比较长&#xff0c;因此只跑了10个epoch&#xff0c;准确率还没有提升上去。 import os import time import tensorflow as tf from tensorflow import keras …

数据库和缓存一致性问题

hello&#xff0c;各位小伙伴们大家好&#xff0c;我是颜书凌&#xff0c;下面给大家讲解一下数据库和缓存的一致性问题&#xff0c;话不多说 1、一致性介绍 一致性就是数据保持一致&#xff0c;在分布式系统中&#xff0c;可以理解为多个节点中数据的值是一致的。 强一致性…

2024年【G3锅炉水处理】试题及解析及G3锅炉水处理模拟考试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年G3锅炉水处理试题及解析为正在备考G3锅炉水处理操作证的学员准备的理论考试专题&#xff0c;每个月更新的G3锅炉水处理模拟考试题祝您顺利通过G3锅炉水处理考试。 1、【多选题】在可逆反应中&#xff0c;下面哪…

Node.js -- express 框架

文章目录 1. express 使用2. 路由2.1 路由的使用2.2 获取请求报文参数2.3 获取路由参数2.4 路由参数练习 3. express 响应设置4. 中间件4.1 全局中间件4.2 路由中间件4.3 静态资源中间件 5. 获取请求体数据 body-parser6. 防盗链7. 路由模块化8. 模板引擎8.1 了解EJS8.2 列表渲…

面试二十四、继承多态

一、继承的本质和原理 组合&#xff08;Composition&#xff09;&#xff1a; 组合是一种"有一个"的关系&#xff0c;表示一个类包含另一个类的对象作为其成员。这意味着一个类的对象包含另一个类的对象作为其一部分。组合关系通常表示强关联&#xff0c;被包含的对象…

【Week-Y7】使用自己的数据集训练YOLO-v8

文章目录 一、官方环境配置与测试1. 配置环境2. 用官方图片测试&#xff08;图片下载失败&#xff09;3. 用本地图片测试&#xff0c;检查配置的环境是否可用 二、使用自己的数据集进行训练测试1. 执行split_train_val.py文件2. 执行python .\voc_label.py文件3. 创建fruit.yam…

[Python基础知识]05函数和模块

一、函数的定义 格式&#xff1a;def 函数名&#xff08;参数列表&#xff09;: 注&#xff1a; 函数代码块以 def 关键词开头&#xff0c;后接函数标识符名称和圆括号()。即使该函数不需要接收任何参数&#xff0c;也必须保留一对空的圆括号 函数形参不需要声明其类型&#x…
最新文章