-3
我写了支持许多funcions逆波兰式评估,因此我有很多情况下,switch
像这样的:如何创建一个宏来生成此代码?
case 'b': {
if (stack.size() < 1) fail();
pop(l1, stack);
l1 = log(l1);
push(l1, stack);
break;
}
对于所有需要一个参数中的模板是一样的,唯一的变化功能是case
字符和l1 = ...;
。我如何创建一个生成此case
的宏。
为什么不写一个函数而不是宏? – jaggedSpire
你能证明你自己解决这个问题吗? –
替代方法:[看看使用'std :: map'](http://en.cppreference.com/w/cpp/container/map)映射'char'和函数。然后你可以'operator [opcode]();'不需要开关。 – user4581301