我可以使用 boost::bind 或 boost lambda 库来创建一个忽略其参数并始终返回常量的仿函数吗?
例如具有等效行为的仿函数:
int returnThree( SomeType arg ) { return 3; }
最佳答案
当然,使用
boost::phoenix::val(3);
#include <boost/phoenix.hpp>
namespace p = boost::phoenix;
using namespace p::arg_names;
int main()
{
auto p = p::val(42);
return p() + p(/*ignored:*/77);
}
返回 84
作为退出代码。
关于c++ - 返回常量的 boost 绑定(bind)或 lambda 仿函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26611610/