当前位置: 首页 > news >正文

c++ std::function

测试代码:

#include <iostream>
#include <functional>int addFunc(int a, int b) {return a + b;
}void testFunction() {// 声明一个function,接受俩个int参数,返回int数据std::function<int(int, int)> func;// 绑定不同的可调用对象// 普通函数func = addFunc;cout << "9526 + 1 :" << func(9526, 1) << endl;// lambda表达式func = [](int a, int b) { return a - b;};cout << "9528 - 1 :" << func(9528, 1) << endl;// 成员函数class Calculator {public:int sub(int a, int b) { return a - b; }static int staticFuncAdd(int a, int b) { return a + b; }};Calculator calc;// 绑定对象和成员函数func = std::bind(&Calculator::sub, &calc, std::placeholders::_1, std::placeholders::_2);cout << "0 - 1 = " << func(0, 1) << endl;// 绑定静态成员函数func = &Calculator::staticFuncAdd;cout << "1 + 1 = " << func(1, 1) << endl;//仿函数class Divider {public:int operator()(int a, int b) {return a / b;}};Divider div;func = div;cout << "10 / 3 = " << func(10, 3) << endl;
}

打印:

ok

http://www.xdnf.cn/news/1015075.html

相关文章:

  • MySQL查询缓存深度剖析
  • 多环境开发配置,Spring boot
  • RK3576 Android14 DMIC调制
  • 前端构建工具Webapck、Vite——>前沿字节开源Rspack详解——2023D2大会
  • 打卡第44天:无人机数据集分类
  • android过渡动画
  • 【Pytorch】(1)Pytorch环境安装-①创建虚拟环境
  • NB-IoT-下行同步、广播信道和信号
  • Volta 管理 Node 版本最佳实践教程
  • 【CATIA的二次开发28】抽象对象Document涉及应用程序连接的属性
  • python中的面向对象:继承、封装、多态
  • 中小企业数字化转型:如何选择靠谱的软件开发服务商?
  • 【知识图谱构建系列2】LLM4KGC项目安装运行
  • Profinet转Modbus网关:破解热处理炉协议壁垒的温控通讯密码
  • Python图片格式转换工具深度解析[附源码】
  • Blender 4.4.3三维动画建模和渲染软件Win/Mac双端资源下载
  • RDMA简介7之RoCE v2可靠传输
  • 包含11个整套APP移动端UI的psd适用于旅行聊天交友相关的社交应用程序
  • 机器学习中的数据准备关键技术
  • iOS性能调试完整流程实录:工具组合下的问题定位与修复实践(含keymob)
  • 云端求解热方程:源于傅里叶的洞察-AI云计算数值分析和代码验证
  • 前端处理后端对象类型时间格式通用方法封装,前端JS处理JSON 序列化后的格式 java.time 包中的日期时间类
  • TensorFlow 与 PyTorch区别
  • 新书速览|大模型核心技术与开发实践:基于Transformer、PyTorch及Hugging Face
  • 哈希表三种数据结构在leetcode中的使用情况分析
  • 【Linux】进程创建、终止、等待、替换
  • 精品可编辑PPT | 基于人工智能及大数据的综合智能交通管理平台AI大数据平替智慧交通
  • Text2SQL、Text2API基础
  • Windows安装Oracle19
  • Linux服务器如何诊断和解决网络问题