一文弄懂function与invoke的区别
(相关资料图)
std::function
和std::invoke
是两个不同的东西,功能也不同。std::function
是一个函数对象的封装器,可以用来封装任意类型的可调用对象,比如函数指针、lambda表达式等,而 std::invoke
则是一个函数模板,用于在统一的接口下调用可调用对象。
比如,我们可以使用 std::function
来存储一个函数指针:
上述代码中,我们将函数指针 foo
封装成了一个 std::function
对象 f
,然后通过调用 f(1, 2)
来调用函数 foo
。
std::invoke
的作用是提供一种通用的函数调用语法,可以用统一的方式来调用各种可调用对象,而不必关心它们具体是什么类型。
比如,可以使用 std::invoke
来调用一个东西,无论这个东西是函数指针、函数对象还是成员函数指针:
上面代码,使用 std::invoke
分别调用了函数 foo
和类 Bar
的成员函数 bar
,并传递了相应的参数。
关键词:
下一篇:最后一页
精心推荐
- 百科知识 春节联欢晚会几点到几点什么频道
- 中文百科 这世界车水马龙是什么意思
- 知识问答 金钱豹自助餐在哪些城市有
- 权威百科知识 数字电视机顶盒的工作原理是什么
- 越海:全国首票进口越南榴莲顺利通关
- 去年京津冀工信部门推进签约570多项高端高新项目
- 京津冀区域协同创新指数增长迅速
- 1至2月河北省工业生产平稳开局 规模以上工业增加值同比增长6.0%
- 浙江绍兴15日0-21时新增41例确诊病例
- 沈阳大气优良天数达近5年来最好水平
- 辽宁实行市级政府集中监管 首站定点冷库加强疫情防控
- 辽宁省25个博士后团队冲刺全国博士后创新创业大赛
- 安徽省宿州市埇桥区大营镇大营新村调整为中风险地区
- 云南哀牢山4名地质调查人员因公殉职原因查明
-
中新网上海12月15日电 (刘晓 郁玫)12月15日,上海浦东新区。一家商店正将店内部分商品堆放在人行道上进行售卖,此时一辆城管巡查车开
-
中新网杭州12月15日电 (钱晨菲)因此前小区内出现一确诊病例,杭州市拱墅区潮鸣街道永康苑小区于15日实施第三轮核酸检测,此前完成的两
-
中新网客户端北京12月15日电(记者 张尼)目前,国家药品集采开展已经3年有余。一方面,中选药品价格大幅下降,给患者带来了真正的实惠
-
(四川统战人说统战事)“海归”博士后王暾:专注灾害预警科技创新 打通灾害预警“最后一公里” 中新网成都12月15日电 (起钰婷)“国
-
中新网福建平和12月15日电 (周晓彬 马淑惠)12月15日,福建省平和县人民法院依法宣判蔡某金等10人涉恶犯罪案件。 法院审理查明,20
X 关闭
X 关闭
产业
-
生活知识 十二五规划核心任务是什么
十二五规划的全称是:中华人民共和国国民经济和社会发展第十二个五...
-
不用跑北京 在家门口也能挂上顶...
日前,我省首个神经疾病会诊中心——首都医科大学宣武医院河北医院...
-
“十四五”期间 河北省将优化快...
从省邮政管理局获悉,十四五期间,我省将优化快递空间布局,着力构...
-
张家口市宣化区:光伏发电站赋能...
3月19日拍摄的张家口市宣化区春光乡曹庄子村光伏发电站。张家口市宣...
-
“张同学”商标被多方抢注 涉及...
“张同学”商标被多方抢注,官方曾点名批评恶意抢注“丁真” ...
-
山东济南“防诈奶奶团”花式反诈...
中新网济南12月15日电 (李明芮)“老有所为 无私奉献 志愿服...
-
广州新增1例境外输入关联无症状...
广州卫健委今日通报,2021年12月15日,在对入境转运专班工作人...
-
西安报告初筛阳性病例转为确诊病例
12月15日10:20,经陕西西安市级专家组会诊,西安市报告新冠病毒...
-
广东东莞新增本土确诊病例2例 ...
(抗击新冠肺炎)广东东莞新增本土确诊病例2例 全市全员核酸检测...
-
中缅边境临沧:民警深夜出击捣毁...
中新网临沧12月15日电 (胡波 邱珺珲)记者15日从云南临沧边境...