最近我发现参数库在加速。 老实说,我不明白这是为什么升压的一部分的原因。 当有需要几个参数传递给函数,你可以从他们做出的结构,如:
struct Parameters
{
Parameters() : strParam("DEFAULT"), intParam(0) {}
string strParam;
int intParam;
};
void foo(const Parameters & params)
{
}
Parameters params;
params.intParam = 42;
foo(params);
这是很容易编写和理解。 使用升压参数既然例如:
BOOST_PARAMETER_NAME(param1)
BOOST_PARAMETER_NAME(param2)
BOOST_PARAMETER_FUNCTION(
(void), // 1. parenthesized return type
someCompexFunction, // 2. name of the function template
tag, // 3. namespace of tag types
(optional // optional parameters, with defaults
(param1, *, 42)
(param2, *, std::string("default")) )
)
{
std::cout << param1 << param2;
}
someCompexFunction(param1_=42);
我认为这是非常复杂的,效益是不是显著..
但现在我看到一些Boost库(短耳)的使用这种技术。 是否考虑使用该库要通过许多参数的最佳做法?
或者,也许有使用这个库,我没有看到真正的实惠? 你会建议在项目中使用这个库?