c++ - 将运算符作为参数传递

标签 c++ c parameters operator-keyword

我想要一个计算 2 个 bool 变量的函数(如真值表)。

例如:

自从

T | F : T

然后

myfunc('t', 'f', ||);  /*defined as: bool myfunc(char lv, char rv, ????)*/

应该返回true;

如何传递第三个参数?

(我知道可以将它作为 char* 传递,但是我必须有另一个表来比较运算符字符串,然后执行我想避免的操作)

是否可以将 ^ (XOR) 或 || (OR) 或 && (AND) 等运算符传递给函数/方法?

最佳答案

声明:

template<class Func> bool myfunc(char lv, char rv, Func func);

或者如果您需要单独链接:

bool myfunc(char lv, char rv, std::function<bool(bool,bool)> func);

然后你可以调用:

myfunc('t', 'f', std::logical_or<bool>());

关于c++ - 将运算符作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4530588/

相关文章:

c++ - 如何使用压缩器 Boost::Iostreams 过滤器作为 Boost::Log 中的接收器

c++ - g++ 和 MSVS 之间的名称查找差异

c++ - 在哪里分配一次使用类?

c - C 语言扫雷

javascript - 将 URL 参数传递给 iframe

静态变量的 C++ 引用

c - 退出程序..替代方案(C 语言)

c - 寻找预处理器命令以删除代码中的命令

sql-server - VBScript:将带有空值的参数传递给存储过程?

java - 使用方法参数查找数组最小值的优雅方法?