我已通过以下方式实现了一个类模板:
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){
是否有更好的选择呢?