Saturday, 7 September 2013

Role of placeholder in Boost::bind in the following example

Role of placeholder in Boost::bind in the following example

There are numerous example on SO regarding the use of placeholders however
I am still a little bit confused and would appreciate it if someone could
explain the difference between the following two statements
void SomeMethod(int a)
{
std::cout << "Parameter pass " << a << "\n";
}
Statement 1 : boost::bind(&SomeMethod,_1)(12);
Statement 2 : boost::bind(&SomeMethod,12)();
I believe I understand statement 1 which is chaining. The output of
boost::bind(&SomeMethod,_1) gets to have a parameter of 12 attached to it.
However I have difficulty understanding whats happening in statement 2. If
a parameter could be passed directly using boost::bind (as in statement 2)
then why the need of a placeholder ?

No comments:

Post a Comment