boost::bind 函数与类成员的区别
2012-09-23 22:26
225 查看
class CP
{
public:
int print(int a, int b)
{
printf("CP print() a=%d, b=%d");
}
};
int print(int a, int b)
{
printf("print() a=%d, b=%d");
}
CP f &rf=f;
CP* pf;
bind(print, _1, _2)(10, 20); //ok
bind(&print, _1, _2)(10, 20); //ok
bind(CP::print, f, _1, _2)(10, 20); //error
bind(&CP::print, f, _1, _2)(10, 20); //ok
bind(&CP::print, rf, _1, _2)(10, 20); //ok
bind(&CP::print, pf, _1, _2)(10, 20); //ok
error原因:
CP::print必需要& 表明这是一个成员函数指针
bind也可以绑定类的成员,用法同绑定成员函数,加&;
{
public:
int print(int a, int b)
{
printf("CP print() a=%d, b=%d");
}
};
int print(int a, int b)
{
printf("print() a=%d, b=%d");
}
CP f &rf=f;
CP* pf;
bind(print, _1, _2)(10, 20); //ok
bind(&print, _1, _2)(10, 20); //ok
bind(CP::print, f, _1, _2)(10, 20); //error
bind(&CP::print, f, _1, _2)(10, 20); //ok
bind(&CP::print, rf, _1, _2)(10, 20); //ok
bind(&CP::print, pf, _1, _2)(10, 20); //ok
error原因:
CP::print必需要& 表明这是一个成员函数指针
bind也可以绑定类的成员,用法同绑定成员函数,加&;
相关文章推荐
- boost::bind boost::function绑定万能函数测试2(类成员函数和虚函数)
- Boost Bind 类成员函数指针
- boost::function 通过boost::bind调用类成员函数
- boost::bind 绑定成员函数
- boost::bind绑定成员变量,函数书嵌套
- 使用boost.bind绑定class的成员函数作为boost thread的入口
- boost::function 通过boost::bind调用类成员函数
- boost::bind无参非成员函数的绑定和调用(一)
- boost::bind绑定成员函数时,第一个参数传递对象的特殊情况
- boost::function 通过boost::bind调用类成员函数
- 今天看了友员函数和成员函数区别
- 程序开发基础学习三(boost::bind 函数学习)
- c++第七周任务-成员函数、友元函数和一般函数的区别
- var声明的成员变量和函数内声明的变量区别
- 类的成员函数和普通成员函数的区别
- C++第7周项目2 - 成员函数、友元函数和一般函数之区别
- 静态成员函数和非静态成员函数的区别?
- C++:类成员函数的重载、覆盖和隐藏区别?
- Boost库bind接口轻松实现类成员函数作为回调函数
- 第七周上机实践项目1(2):成员、友元和一般函数的区别