2
我可以使用boost :: bind或boost lambda函數庫來創建忽略其參數並始終返回常量的仿函數嗎?boost bind或返回常量的lambda仿函數
例如具有同等行爲的函子:
int returnThree(SomeType arg) { return 3; }
我可以使用boost :: bind或boost lambda函數庫來創建忽略其參數並始終返回常量的仿函數嗎?boost bind或返回常量的lambda仿函數
例如具有同等行爲的函子:
int returnThree(SomeType arg) { return 3; }
從上sehe的回答巴里的評論:
#include "boost/lambda/lambda.hpp"
...
auto returnThree = boost::lambda::constant(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
作爲退出碼。
即使給你最多10個參數,而'提高::拉姆達:: constant'限你3。 – Barry 2014-10-28 15:13:39