c - 将运算符作为参数传递给 C 中的函数

标签 c

我想将大于 (>) 和小于 (<) 运算符作为参数传递给函数,这怎么可能..有没有办法将这些运算符作为参数传递..请任何人帮助我。

最佳答案

你可以用宏做一些可怕的事情,但一般来说,不,你不能这样做。您通常接受一个双参数函数并调用它,该函数可以使用 ><酌情参见the sort docs举个例子。

也就是说,它不是非常高效(通过指针调用函数不能被内联,并且对于像 >< 比较这样的廉价操作,函数调用开销超过了比较工作)。使其高效需要:

  1. 代码的多份副本,每个可能的运算符一份(可能通过宏生成)
  2. 转向 C++ 并使用带有可正确内联的仿函数/lambda 的模板代码

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

相关文章:

c - 传递长度为 "constant"的二维数组

指向字符数组的字符指针而不是赋值

c - zint 条码库中缺少 png.h 头文件 :

c - 反向链表

c - 动态扩展数组C

c - 我想将读取链与C中的文件分开

c - 数据结构中的二进制搜索和 C 中的算法分析

c - C语言程序运行时出现错误

c - 条件表达式中的指针/整数类型不匹配

C语言结构