我认为最简单的是boost :: functions的映射。
我喜欢@ cobbal关于上面的函数指针哈希的想法,但你可以用多态来替换这个条件逻辑。
看到: http://c2.com/cgi/wiki?ReplaceConditionalWithPolymorphism
哈希存储函数指针可以在这里很好地工作
你可以使用boost :: bind或boost :: function和一个map。这将允许您调用正确的函数,甚至知道每个函数具有不同数量的参数。
如果您不想要任何额外的代码,可以使用函数对象和继承。