伪代码的意图:
T magicContainer;
magicContainer.push(method1);
magicContainer.push(method2);
...
magicContainer.push(methodN);
magicContainer.loop(i) {
magicContainer[i].call(...);
}
现在method1
,method2
,......应该有任意签名 - 我会说,这在C ++中是不可能的。说明:你是否使用像void指针或花哨的boost这样的老派方式::任何你总是要跟踪某处的函数签名类型。我仍然想问:对于这种情况,最接近,最优雅的解决方案是什么?