我正在尝试学习更为“功能型”的STL编程风格,以下是一个简化的案例:
class Widget;
class Zot
{
public:
std::vector<Widget> Widgets;
void ProcessAWidget(int x, Widget w) { ... }
void Process()
{
int ctx=123;
std::for_each(Widgets.begin(), Widgets.end(),
std::bind(&Zot::ProcessAWidget, this, ctx, _1));
}
};
有没有更好的方法来编写for_each调用的最后一个参数?
特别是需要显式地提及this感觉很“不正确”,去掉类限定符也是很好的选择。
std::bind
]。 - David Rodríguez - dribeasstd::for_each
的原因 - 太多的std::mem_fun
泡沫了 - 迎接C++11的到来。 - Component 10