function和bind使用实践

文章目录

    • 1.functional 接受全局函数
    • 2.functional 接受lambda表达式
    • 3.functional 接收静态成员函数
    • 4.functional 接收成员函数
    • 5.bind 绑定全局函数
    • 6.bind 绑定成员函数
    • 7.使用 placeholders占位

1.functional 接受全局函数

2.functional 接受lambda表达式

3.functional 接收静态成员函数

4.functional 接收成员函数

5.bind 绑定全局函数

6.bind 绑定成员函数

7.使用 placeholders占位

#include <iostream>
#include <functional>
#include <string>using namespace std;/** 1.functional 接受全局函数* 2.functional 接受lambda表达式* 3.functional 接收静态成员函数* 4.functional 接收成员函数* 5.bind 绑定全局函数* 6.bind 绑定成员函数* 7.使用 placeholders占位* */void print(string name,int age){cout << name << "="<< age << endl;
}class stu{
public:string read(string name,int age){return name+ to_string(age) +"岁在看书";}static void introduce(string name,int age){cout << "我是"<< name << age << "岁了"<< endl;}
};int add(int a,int b){return a+b;
}int main() {function<void (string,int)> f1= print;f1("小明",12);function<int (int,int)> f2 = [](int a,int b){return a+b;};int result = f2(1,2);cout << "result=" << result << endl;function<void (string,int)> fs = stu::introduce;fs("小红",15);function<string (stu,string,int)> fr = &stu::read;stu s1;fr(s1,"小丽",8);function<string (stu&,string,int)> fr2 = &stu::read;stu s2;fr2(s2,"小天",100);function<string (stu*,string,int)> fr3 = &stu::read;stu s3;fr3(&s3,"康康",26);auto b = bind(add,1,2);int result2 = b();cout << "result2 = "<< result2 <<endl;function<int ()> f3 = bind(add,1,3);int result3 = f3();cout << "result3 = "<< result3<<endl;stu ss;stu sa;auto b2 = bind(&stu::read,ss,"莎莉",19);function<string ()> f4 = bind(&stu::read,sa,"莎莉2",36);f4();stu s11;stu s12;auto b3 = bind(&stu::read,s11,placeholders::_1,85);b3("阿妹");function<string (string,int)> f5 = bind(&stu::read,s12,placeholders::_1,placeholders::_2);f5("野鸡",40);return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

node.js漏洞——

一.什么是node.js 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。 Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境&#xff0c;基于 Google 的 V8 引擎&#xff0c;V8 引擎执行 Javascript 的速度非常…

神经网络搭建(1)----nn.Sequential

神经网络模型构建 采用CIFAR10中的数据&#xff0c;并对其进行简单的分类。以下图为例 输入&#xff1a;3通道&#xff0c;3232 ( 经过一个55的卷积) → 变成32通道&#xff0c;3232的图像 (经过22的最大池化) → 变成32通道&#xff0c;1616的图像 ( 经过一个55的卷积) → 变…

Sass混合宏(Mixins)使用

Sass是一个强大的CSS预处理器&#xff0c;它允许你使用变量、嵌套规则、函数等特性&#xff0c;使得CSS开发更加高效和规范。在这篇教程中&#xff0c;我将为你详细介绍一个非常有用的Sass功能——混合宏(mixins)。 1. 基础&#xff1a;混合宏的定义和使用 混合宏是一个可以复…

linux虚拟机免密登录配置

1、假设A服务器要免密登录B服务器 2、在A服务器上执行命令&#xff1a; cd /root/.ssh/ ssh-keygen -t rsa #这里会生成两个文件 一个是id_rsa私钥和公钥rsa.pub2、我们把公钥的内容复制粘贴到B服务器的/root/.ssh/authorized_keys文件下 #在A服务器上执行命令记录内容 cat …

ArkTs-TaskPool和Worker的使用

TaskPool和Worker的区别 实现TaskPoolWorker内存模型线程间隔离&#xff0c;内存不共享。线程间隔离&#xff0c;内存不共享。参数传递机制 采用标准的结构化克隆算法&#xff08;Structured Clone&#xff09;进行序列化、反序列化&#xff0c;完成参数传递。 支持ArrayBuffe…

python调用excel的demo

在本地安装Pycharm之后&#xff0c;新建工程&#xff0c;在main.py中键入如下代码,即可实现Python调用excel&#xff1a; import pandas as pd sheet pd.read_excel(test.xlsx) data sheet.loc[0].values print("读取指定行的数据:\n{0}".format(data)) 第一次编…

IT学习笔记--Flink

概况&#xff1a; Flink 是 Apache 基金会旗下的一个开源大数据处理框架。目前&#xff0c;Flink 已经成为各大公司大数据实时处理的发力重点&#xff0c;特别是国内以阿里为代表的一众互联网大厂都在全力投入&#xff0c;为 Flink 社区贡献了大量源码。 Apache Flink 是一个…

Vscode发生鼠标悬停正在加载、无法跳转和提示词的问题

Vscode发生鼠标悬停正在加载、无法跳转和提示词的问题 查看python语言服务器的日志&#xff0c;确定问题。 我的问题是加载的vscode 目录下存在一个很大的数据集目录&#xff0c;导致无法正常工作。 解决办法&#xff1a; 在vscode的pylance设置中&#xff0c;排除对应的目…

深入理解 Spring 容器:原始 Bean 的生成过程

引言&#xff1a; Spring 框架的核心功能之一是它的 IoC&#xff08;控制反转&#xff09;容器&#xff0c;它负责创建、配置和组装 Bean。在 Spring 应用程序中&#xff0c;Bean 是对象实例&#xff0c;由 Spring 容器负责其生命周期和依赖关系。本文将深入探讨 Spring 容器中…

使用 PlayCanvas 创建带有后处理效果的 3D 场景

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 使用 PlayCanvas 创建带有后处理效果的 3D 场景 应用场景介绍 本代码演示了如何使用 PlayCanvas 创建一个带有后处理效果的 3D 场景。用户可以在场景中查看一个棋盘模型&#xff0c;并使用后处理效果为场景添…

达梦 执行查询语句时报[-544]:Out of sort buf space

达梦数据库有时执行SQL中有时报[-544]:Out of sort buf space, try to adjust SORT_BUF_GLOBAL_SIZE, SORT_BUF_SIZE, SORT_BLK_SIZE. 第一反应是这条语句占用排序区太大。但真实原因是前面执行的语句耗光了全局排序区&#xff0c;后面SQL任何小的排序操作都会报这个错误从而执…

freeRTOS中使用cJSON死机的问题

问题描述 在freeRTOS中使用cJSON来处理PC通过串口发送的信息&#xff0c;但是在串口接收处理任务中调用cJSON处理的函数后会出现死机的问题 // 处理PC的信息 void ProcessPCData(uint8_t* data, uint32_t len) {int functionCode 0;cJSON* json NULL;printf("Start Pr…

天润融通助力浪鲸卫浴,智能化革新引领客户服务新高度

头部家装品牌如何用优质服务抓住客户&#xff1f; 每年初春&#xff0c;万物复苏的同时&#xff0c;家装市场也正式进入旺季。 因为春天气温回升&#xff0c;潮气逐渐散去&#xff0c;开始进入最适合施工的季节&#xff0c;木材不易变形、油漆不易起皮&#xff0c;再加上春季…

算法金 | 再见!!!KNN

大侠幸会&#xff0c;在下全网同名「算法金」 0 基础转 AI 上岸&#xff0c;多个算法赛 Top 「日更万日&#xff0c;让更多人享受智能乐趣」 KNN算法的工作原理简单直观&#xff0c;易于理解和实现&#xff0c;这使得它在各种应用场景中备受青睐。 我们将深入探讨KNN算法&…

Easy 同学:AI 时代将加速计算机专业和程序员职业的分化

一、原贴 2024 年 6 月 5 日 拥有 60多万粉丝的方糖气球&#xff08;ftqq.com&#xff09;博主 、独立开发者&#xff1a;Easy 发表了一篇 AI 对计算机专业和程序员行业影响的新浪博客&#xff0c;看后很有启发&#xff0c;故而将原文摘录于此&#xff1a; 单独开个贴说一下吧…

文心一言 VS 讯飞星火 VS chatgpt (275)-- 算法导论20.3 2题

二、修改 vEB 树以支持带有卫星数据的关键字。如果要写代码&#xff0c;请用go语言。 文心一言&#xff1a; vEB 树&#xff08;van Emde Boas 树&#xff09;是一种用于处理稀疏位集合的高效数据结构&#xff0c;它允许在常数时间内执行查找、插入、删除和前驱/后继操作。然…

服务器硬件基础知识:从零开始了解你的数字工作马

在现代社会&#xff0c;服务器是我们数字世界的基石。无论是网站、云服务还是大数据处理&#xff0c;背后都有强大的服务器在默默工作。对于许多人来说&#xff0c;服务器的工作原理和组成可能显得神秘且复杂。今天&#xff0c;我们将通过一篇通俗易懂的文章&#xff0c;逐步揭…

6.更复杂的光照

一、Unity的渲染路径 渲染路径决定了光照是如何应用到Unity Shader中的。我们需要为每个Pass指定它使用的渲染路径 如何设置渲染路径&#xff1f; Edit>Project Settings>Player>Other Settinigs>Rendering 如何使用多个渲染路径&#xff1f;如&#xff1a;摄像…

Vuex 4与状态管理实战指南

title: Vuex 4与状态管理实战指南 date: 2024/6/6 updated: 2024/6/6 excerpt: 这篇文章介绍了使用Vuex进行Vue应用状态管理的最佳实践&#xff0c;包括为何需要状态管理&#xff0c;Vuex的核心概念如store、actions、mutations和getters&#xff0c;以及如何处理异步操作和模…

网工内推 | 网络运维工程师,H3CIE认证优先,13薪,享股票期权

01 畅读 &#x1f537;招聘岗位&#xff1a;高级网络运维工程师 &#x1f537;职责描述&#xff1a; 1.负责线上业务网络技术运维工作&#xff0c;保障并优化线上网络质量&#xff1b; 2.规划并构建公司线上业务网络架构&#xff1b; 3.规划线上业务网络质量评估与监控体系&…