假设我有一个采用某种谓词形式的函数:
void Foo( boost::function<bool(int,int,int)> predicate );
如果我想用一个总是返回 true 的谓词来调用它,我可以定义一个辅助函数:
bool AlwaysTrue( int, int, int ) { return true; }
...
Foo( boost::bind( AlwaysTrue ) );
但是无论如何都可以调用这个函数(可能使用 boost::lambda)而不必定义一个单独的函数?
[编辑:忘了说:我不能使用 C++0x]