C ++ unpack / unbox类方法参数

时间:2013-09-14 19:37:41

标签: c++

我有一堆子类,每个子类都有不同参数编号和类型的静态类工厂方法,并且还希望使用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 ++还在加快速度。我发现了一些似乎涉及解包元组参数的主题,例如,

但我不确定采用哪种方法。谢谢你的帮助

0 个答案:

没有答案