【发布时间】:2013-09-08 05:03:15
【问题描述】:
关于占位符的使用有很多关于 SO 的示例,但是我仍然有点困惑,如果有人能解释以下两个语句之间的区别,我将不胜感激
void SomeMethod(int a)
{
std::cout << "Parameter pass " << a << "\n";
}
Statement 1 : boost::bind(&SomeMethod,_1)(12);
Statement 2 : boost::bind(&SomeMethod,12)();
我相信我理解声明 1 是链接。 boost::bind(&SomeMethod,_1) 的输出会附加一个参数 12。但是我很难理解语句 2 中发生了什么。如果可以使用 boost::bind 直接传递参数(如语句 2 中所示),那么为什么需要占位符?
【问题讨论】:
-
如果您想立即调用
bind的结果,那么您首先不需要bind。真正的用例是现在调用bind,稍后调用结果300个函数和5000行。
标签: c++ boost-bind