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

C++ std::bind函数用法

看一个例子解释用法:

TcpServer类的构造函数中定义:
acceptor_->setNewConnectionCallback(std::bind(&TcpServer::newConnection, this,std::placeholders::_1, std::placeholders::_2));// 有一个新的客户端的连接,acceptor会执行这一个回调
void TcpServer::newConnection(int sockfd, const InetAddress &peerAddr)//有新连接来了
{   //轮询算法,选择一个subLoop,来管理channelEventLoop *ioLoop = threadPool_->getNextLoop(); ......
}

this 指针: 在类的成员函数中,this 是一个指向当前对象的指针。它用于访问该对象的成员变量成员函数
std::bind: 这个函数模板允许将一个成员函数特定的对象进行绑定,从而可以创建一个可调用对象std::bind(&TcpServer::newConnection, this, std::placeholders::_1, std::placeholders::_2) 创建了一个可调用对象,它将调用当前 TcpServer 对象(由 this 指向)的 newConnection 函数,并将 std::placeholders::_1 和 std::placeholders::_2 作为参数传递给它。

调用的时候,会传参:

newConnectionCallback_(connfd, peerAddr);
http://www.lryc.cn/news/434193.html

相关文章:

  • Caffenie配合Redis做两级缓存
  • MATLAB实现PID参数自动整定
  • UE5学习笔记21-武器的射击功能
  • Mamba模型学习笔记
  • android kotlin 基础复习 继承 inherit
  • 读软件设计的要素06概念完整性
  • Java 每日一刊(第2期):搭建开发环境
  • 探索EasyCVR与AI技术深度融合:视频汇聚平台的新增长点
  • IBM中国研发部调整:全球化与本土化的新平衡
  • C++入门基础篇
  • Qt QListWidget 代码范例,以及Qt 天坑:setStyleSheet失效问题
  • Unity AnimationClip详解(1)
  • 在这12种场景下会使Spring事务失效--注意防范
  • SOPC:Nios II Processor -> Vectors
  • golang学习笔记11——Go 语言的并发与同步实现详解
  • 关于汽车加油是加200还是加满的思考
  • C# 去掉字符串最后一个字符的5种方法
  • [Redis] Redis中的String类型
  • Transiting from CUDA to HIP(三)
  • 基于SpringBoot+Vue+MySQL的垃圾分类回收管理系统
  • 游戏的3C,Al
  • 深度学习基础案例4--运用动态学习率构建CNN卷积神经网络实现的运动鞋识别(测试集的准确率84%)
  • tekton pipeline workspaces
  • [git操作] git创建仓库上传github报错
  • 飞牛fnOS安装KDE桌面
  • 运维Tips | 如何安全的移除系统中旧的Linux内核?
  • 基于JAVA+SpringBoot+Vue的工程教育认证的计算机课程管理平台
  • 软件质量保障:故障演练介绍
  • Vue3可编辑表格插件
  • RedisTemplate操作Redis