【发布时间】:2016-06-17 22:02:56
【问题描述】:
我遇到了以下用例,但找不到合适的解决方案。
有没有办法在if 条件中用条件< 或> 替换字符串“”?
例子:
string condition = "<";
if (10 condition 8) // Here I want to replace condition with <
{
// Some code
}
我不想这样做:
if ("<" == condition)
{
if (10 < 8)
{
}
}
else if (">" == condition)
{
if (10 > 10)
{
}
}
而且我的情况会在运行期间发生变化。我只是在寻找一种简单的方法,如果存在于上面之外。
用例:用户会给出如下查询:
input: 10 > 9 => output: true
input: 10 < 7 => output: false
基本上我需要解析这个查询,因为我有这 3 个单词(10、>、9)作为字符串,并且我想以某种方式将字符串 ">" 或 "> 或 @987654328 @。
【问题讨论】:
-
没有。另请注意,“字符串”不是 C 类型。
-
你可以先写
#define lessThan <,然后写if (10 lessThan 8)。这可能没用,但您也没有提到实际用例。 -
@melpomene 您的建议无关紧要,因为
lessthen只是他用于操作数的标识符名称...#define将导致预编译时间并且不会在运行之间更改。 -
@TomerW 运行之间的更改不是要求的一部分。此外,如果它可以表示除
<之外的其他操作,为什么要称为lessThan? -
您是否希望能够处理标准运算符的其他字符串表示形式?
标签: c++