c++ - 有没有办法在 ">"条件下用 > 替换字符串 'if'?

标签 c++

我遇到了以下用例,但找不到合适的解决方案。 有没有办法用条件 < 替换字符串“<”或“>”或 >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)作为字符串,并且我想以某种方式将字符串“>”或“<”转换为实际符号 >< .

最佳答案

您可以通过 std::mapstd::unordered_map< 将字符串映射到标准库比较器仿函数,例如 std::less/.

关于c++ - 有没有办法在 ">"条件下用 > 替换字符串 'if'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37891001/

相关文章:

c++ - 强制转换为 &(void*&)variable 与 (void**)variable 的区别

c++ - 哪些 std::async 实现使用线程池?

c++ - 通过迭代器访问 qlist 元素的段错误

c++ - 为什么可以在 .h 接口(interface)和 .cpp 实现中拆分非模板类?

c++ - 为什么编译器会尝试将指针传递给引用而不是此代码片段中的指针?

c++ - 找出什么线程打开了fd

c++ - std::string::clear 是否回收与字符串关联的内存?

c++ - 如何以与 VS 解决方案(VS 自动构建依赖项)类似的方式管理自定义库?

c++ - 不会在登录时用 C++ 读取我的文件

c++ - PostMessage 不会触发 Message Handler