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

C++实用函数:bind

本篇来介绍了C++中bind功能。

1 std::bind

在 C++ 里,std::bind 是一个函数模板,其作用是创建一个可调用对象,该对象可绑定到一组参数上。std::bind 的函数原型如下:

template< class F, class... Args >
/*unspecified*/ bind( F&& f, Args&&... args );template< class R, class F, class... Args >
/*unspecified*/ bind( F&& f, Args&&... args );

参数

  • F:这是要绑定的可调用对象(像函数、函数指针、成员函数指针、函数对象等)的类型。
  • Args:这是要绑定的参数的类型包。
  • f:需要绑定的可调用对象。
  • args:要绑定到可调用对象上的参数。
  • R:可调用对象的返回类型(可选)。

返回值

  • std::bind 返回一个未指定类型的可调用对象,这个对象存储了 fargs 的副本或者引用,并且可以在后续被调用。

2 实例

2.1 基础的bind功能

被绑定的函数支持参数和返回值,参数通过std::placeholders::_1的形式,注意这里_1是特定的形式,表示第一个参数

//g++ test1.cpp -std=c++11 -o test1
#include <functional>
#include <string>std::string myFunc(int a, float b)
{char buf[256];sprintf(buf, "receive a:%d, b:%.2f", a, b);return std::string(buf);
}int main()
{auto bindFunc = std::bind(myFunc, std::placeholders::_1, std::placeholders:

相关文章:

  • AcWing 1583:PAT 计数 ← 中国电子学会青少年软件编程等级考试(2024年C++四级)
  • spark-shell基础知识
  • VMware 安装 win10 系统的教程
  • java是实现视频流Rtsp转Rtmp
  • 从工业到家居:电源方案的广泛应用 | 多领域解决方案
  • VMWare 16 PRO 安装 Rocky8 并部署 MySQL8
  • 低功耗数字工厂的新时代:安卓触摸一体机助力绿色高效管理
  • SAP ABAP BOM 抬头更改(BAPI:CSAP_MAT_BOM_MAINTAIN)
  • 20250415-vue-插槽-默认内容
  • 「数据可视化 D3系列」入门第二章:选择器与数据绑定
  • DELL电脑开机进入自检界面
  • 【开源项目】Excel手撕AI算法深入理解(三):Backpropagation、mamba、RNN
  • TypeScript 快速上手--禹神
  • Redis-高级篇(分布式缓存/持久化)
  • 数据结构(4)
  • redis 放置序列化的对象,如果修改对象,需要修改版本号吗?
  • 数据库的基本原则
  • 【Vue级联选择器数据处理优化:解决企业类型选择与回显问题】
  • 实现添加用户和SpringBoot-实现修改和删除
  • Golang|在线排查协程泄漏
  • 继微软之后,亚马逊也放缓人工智能数据中心计划
  • 中国与柬埔寨签署多领域合作文件
  • 视频·世界读书日|林乾:碎片化阅读或影视综艺≠知识
  • 对话地铁读书人|财务管理孟先生:老婆让我看《三体》
  • 广东省东莞市委原书记、市人大常委会原主任徐建华被开除党籍
  • 田野调查|“心青年”的日常秩序与归属之地