Boost:bind疑义

Boost:bind疑问
class status { 
std::string name_;  
bool ok_;
public:  
status(const std::string& name):name_(name),ok_(true) {}  
void break_it() { ok_=false; } 
bool is_broken() const { return ok_; }  
void report() const { std::cout << name_ << " is " << (ok_ ? "working nominally":"terribly broken") << '\n'; }
};


void main()
{

std::vector<status> statuses;
statuses.push_back(status("status 1"));
statuses.push_back(status("status 2"));
statuses.push_back(status("status 3"));
statuses.push_back(status("status 4"));
statuses[1].break_it();statuses[2].break_it();
for (std::vector<status>::iterator it=statuses.begin(); it!=statuses.end();++it) { it->report();}
std::for_each( statuses.begin(), statuses.end(), boost::bind(&status::report,_1));
}

report函数是不需要参数的,foreach那句代码中后面“_1”是什么意思?请高手指点一下!

------解决方案--------------------
楼主还是自己去认真看boost的文档吧,有中文版的。
这是一个神奇的占位符。
------解决方案--------------------
你可以看下bind的源码,就是一个占位符,你不加就编译不过去的,表示