Boost Parameters library
问题 Recently I found Parameters library in the Boost. Honestly I didn't understand the reason why this is a part of Boost. When there is need to pass several parameters to the function you can make a structure from them, like: struct Parameters { Parameters() : strParam("DEFAULT"), intParam(0) {} string strParam; int intParam; }; void foo(const Parameters & params) { } Parameters params; params.intParam = 42; foo(params); This is very easy to write and understand. Now example with using Boost