【发布时间】:2013-10-08 08:05:44
【问题描述】:
如何将字符“+”转换为 + 以进行加法?我正在尝试做一些让用户输入运算符 +-*/ 然后打印运算符 b 的事情。
我可以只做一堆 if 语句,但想知道是否有办法更有效地做到这一点?
if (operator == "+") {cout << a + b;}
else if (operator == "-") {cout << a - b;}
等等。
【问题讨论】:
-
对于一个简单的表达式解析器,它不会比这更简单。简单是好的,因为它使您的程序可维护。在大多数情况下,IMO 简单胜过高效。
-
声明 :
char op;然后使用if(op == '+') { etc } -
您当前的解决方案效率低吗?您是否对其进行了分析并确定“一堆 if 语句”是瓶颈?
-
我希望你知道
operator是一个关键词。 -
看起来像 XY problem。你想达到什么目的?写一个 LR 解析器来评估表达式?语言翻译?
标签: c++