我有一堆子类,每个子类都有不同参数编号和类型的静态类工厂方法,并且还希望使用jsonpp通过json数据文件加载数据来实例化它们。
所以说我会为参数提供一个Json :: Value对象数组,是否有一种聪明的方法,在c ++中使用宏或其他东西来创建接受Json :: Value数组并调用原始数据的替代代理方法方法,例如)
Foo* Foo::create(int a, const char* b) { /* ... */ }
Foo* Foo::create(Json::Value args) { //the Json::Value args represents an array value here
// can I avoid having to manually create each of these Json methods?
return Foo::create(args[0].asInt(), args[1].asCString());
}
对不起,我的c ++还在加快速度。我发现了一些似乎涉及解包元组参数的主题,例如,
但我不确定采用哪种方法。谢谢你的帮助