基于字符串实例化类模板参数

时间:2016-07-17 20:42:50

标签: c++

我已通过以下方式实现了一个类模板:

if (system::strCmpI(node_reg, "CFixedIntervalsNRD")) {
    if (system::strCmpI(edge_reg, "CICPGoodnessERD")) {
        CGraphSlamEngine_t<CNetworkOfPoses2DInf, CFixedIntervalsNRD_t, 
                           CICPGoodnessERD_t, CLevMarqGSO_t>
        graph_engine();
    }
    else if (system::strCmpI(edge_reg, "CEmptyERD")) {
        ...
    }
    ...
}

在手头的应用程序中,用户使用命令行参数指定要使用的node_registrar,edge_registrar,optimizer,因此在类实例实例化之前,我们将这些选项作为字符串提供。

如何根据这些用户选择发出正确的模板参数?目前,我为上面的字符串的每个组合显式实例化了一个不同的类实例:

    if(!data.isParent){

是否有更好的选择呢?

0 个答案:

没有答案