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 << "
";
}
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 ?