当前位置: 首页 > 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

相关文章:

  • 语法疫苗:SynCode如何为LLM生成装上“防崩溃引擎”
  • leetcode-hot-100 (链表)
  • 如何使用Postman做接口自动化测试
  • 某靶场CTF题目:利用Apache APISIX默认Token漏洞(CVE-2020-13945)获取Flag
  • lua读取请求体
  • 保姆级安装OpenResty教程
  • 开发指南121-微服务的弹性伸缩
  • opencv 之 视频类 VideoCapture、VideoWriter详细介绍
  • 【论文阅读33】滑坡易发性 PINN ( EG2025 )
  • 论文笔记 <交通灯><多智能体>CoLight管理交通灯
  • 当机床开始“思考”,传统“制造”到“智造”升级路上的法律暗礁
  • “第三届全国技能大赛”倒计时100天—千眼狼高速摄像机为焊接与增材制造项目提供可视化评判依据
  • Cloud Events:事件驱动架构的未来标准化
  • 腐烂之息-(Breath of Decay VR ) 硬核VR游戏
  • 欧洲宇航局如何为航天员提供虚拟现实训练内容
  • vue3 解析excel字节流文件 以表格形式显示页面上 带公式
  • Java + easyexcel 新旧数据对比,单元格值标红
  • 穿越时空的刀剑之旅:走进VR刀剑博物馆​
  • 720云vr全景怎么制作?720全景制作费用?
  • PHP基础-控制结构
  • 关于桥梁建设工程设公司网站/百度seo快速排名优化服务
  • 给孩子做的饭网站/西安seo推广公司
  • 桐乡市住房建设局网站公示/零基础学seo要多久
  • 网页设计图片大小如何调整/seo的基础是什么
  • r语言做网站/怎么免费建个人网站
  • wordpress插件的使用方法/宁波网络推广优化公司