C++ std::bind用于成员函数

使用bind绑定到成员函数时,即使成员函数不需参数,也要将this绑定在第一个参数:

#include <iostream>
#include <functional>
using namespace std;

class test {
public:
	test() : function(std::bind(&test::func, this, 3)) { }    // 需将this绑定在func的第一个参数处
	function<void()> function;
private:
	void func(int i) {
		cout << "in function, the parameter is: " << i << endl;
	}
};

int main() {
	test t;
	t.function();
}

运行它:
在这里插入图片描述

posted @   epiphanyy  阅读(30)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示