使用 std::greater 或 std::less 作为参数的参数

2024-04-04

我想创建一个带有接受以下任一参数的函数std::greater<int> or std::less<int>作为论点。不过,我仍然坚持参数的语法。

这是我尝试过的格式:

myFunction(int a, int b, bool *comp(int, int)) { … }
…
std::greater<int> bigger;
myFunction(2, 3, bigger);

但这不起作用,我怀疑第三个参数完全错误。实际上应该是什么?

无法转换std::greater<int> to bool* (*)(int, int)


采用比较器的函数通常通过模板实现:

template <typename Comparator>
myFunction(int a, int b, Comparator comp) { … }

但你也可以使用std::function实施它:

myFunction(int a, int b, std::function<bool (int, int)> ) { … }

第一个版本在标头中公开代码,但通常性能更好。 对于第二个版本,您可以隐藏.cpp文件中的实现, 但由于无法内联,您会损失一些性能 比较器调用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 std::greater 或 std::less 作为参数的参数 的相关文章

随机推荐

  • ggplot根据数据框中的值重新排序堆积条形图

    我正在 R 中使用 ggplot2 制作堆积条形图 并在 y 轴上具有特定的条形排序 create reproducible data library ggplot2 d lt read csv text Day Location Leng
  • BASH if 语句中的函数返回值

    我已经研究了这里处理 BASH if then 语句中的函数返回值的各种方法 但似乎都不起作用 这是我所拥有的 function is cloned if d DIR NAME then return SUCCESS fi return F
  • 在后台加载新场景

    我正在创建一个针对 Samsung Gear VR 的 Unity 应用程序 我目前有两个场景 最初的场景 第二个场景 数据量大 加载场景需要太多时间 从第一个场景开始 我想在后台加载第二个场景 并在加载后切换到它 当新场景在后台加载时 用
  • IE11未发起CORS请求

    通过摆弄 如果是跨源的 IE11 似乎不会发出 ajax 请求 如果资源 API 未发送必要的标头 FF 和 Chrome 至少会发出请求并抛出错误 在我的例子中 资源 API Web API 2 0 是添加所需的标头 http www a
  • 动态 Jquery 拆分器插件

    我正在尝试使用 Jquery Splitterhttp www methvin com jquery splitter http www methvin com jquery splitter 如果分隔窗格是静态的 它工作得很好 但我需要在
  • 两个视图 - 一个 ViewModel

    我一定是误解了这个概念ViewModels和意见 但目前我无法从地面重建应用程序 这次做得更好 我的情况是 我有一个视图 用户可以在其中加载文件并读取它们 绘图仪显示图形并实现一些操作 我希望能够生成数据报告 如摘要 但我希望它在其他视图中
  • 如何仅使用 HTML 和 CSS(或者我猜是 java)创建滚动文本的动画,就像苹果过去在其实时页面上使用的那样?

    我的网站顶部有一个蓝色横幅 左侧有浅色径向渐变 我想要在横幅右侧向上滚动的白色文本动画 我希望它在出现时淡入 然后淡出 我希望不使用 Flash 并尽可能少地使用 Java 来完成此操作 我可以通过 CSS 进行工作并设置布局 但我不知道如
  • C# 中的实时麦克风幅度测量

    我正在寻找简单的解决方案 它将返回 C 中麦克风输入的整数值 我已经在网上检查了可用的示例 但它们都不能在 x64 环境中工作 VS2008 W7 x64 是否有任何简单的解决方案可以返回 C 中麦克风输入的幅度 或频率 值 我尝试了 NA
  • Julia ccall 接口和符号的问题

    我正在尝试使用朱莉娅的ccall与 C 库接口的函数 所有类型和指针都是正确的 并且下面的函数调用成功返回正确的答案 为简洁起见 此处未显示变量定义和设置 ccall vDSP convD libacc Void Ptr T Int64 P
  • jquery("foo bar") 与 jquery("foo").find("bar")

    我正在尝试遍历 xml 文档 这不起作用 零结果 jquery foo bar 这确实有效 jquery foo find bar 知道为什么吗 jquery foo bar 第一个查找 bar 元素是 foo 元素的后代 所以在这个例子中
  • 套接字编程最佳实践?

    我正在设计一个文件同步应用程序 如 DropBox 客户端在端口 443 上与服务器保持持久的安全 SSL TCP 套接字 每当在客户端上创建 更改 删除文件时 包含相关数据的数据包就会通过套接字发送到服务器 服务器对其进行处理更新服务器上
  • #include<> 和 #define"" 之间有什么区别[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 有人能告诉我 include 和 define 之间的区别吗 我知道 include 用于包含头文件 define 用于定义宏或常量 是不是
  • 在 Spring Security 中以编程方式自定义 WebAuthenticationDetails

    我目前正在从基于 xml 的 spring security 配置转向基于 java 的配置 我需要通过 Java 设置自定义 WebAuthenticationDetails 有没有办法做到这一点 在 XML 中 我只需设置 Userna
  • Qt 5.7 将 -std=gnu++11 添加到我的编译器标志中,破坏 -std=c++14

    我在我的中设置以下标志CMakeLists txt set CMAKE CXX FLAGS std c 14 g O0 然后我正在使用find package定位Qt5Test find package Qt5Test REQUIRED 然
  • tf.image.resize_bilinear 与 cv2.resize

    结果来自tf image resize bilinear与cv2 resize 我觉得这有点麻烦 放align corners True并不总是合理的 因为四个角并不总是应该固定在角上 那么有没有办法让它变得更加 对称 呢 重现代码 imp
  • jQuery Mobile -> 覆盖 jQuery UI Datepicker -> 布局损坏

    我在我的 Web 应用程序中使用 jQuery Mobile 有一个日期选择器会覆盖默认的 jQuery UI 日期选择器 这是来源 https github com jquery jquery mobile tree master exp
  • Android 应用程序更新的 Delta 更新

    我正在尝试设置自己的服务器来托管 apk 文件 这些文件可用于客户端应用程序中的安装和更新 当apk有新版本更新时 客户端只需要下载更新的部分 我可以在服务器端使用 bsdiff 生成补丁文件 但是在客户端 我应该如何将补丁文件与原始apk
  • 保持自托管服务堆栈服务作为 docker swarm 服务打开,而不使用控制台 readline 或 readkey

    我有一个使用 servicestack 用 C 编写的控制台应用程序 其形式如下 static void Main string args Some service setup code here Console ReadKey 这段代码在
  • 如何在 IOS 5 中包含 SSZipArchive?

    对于我正在从事的项目 我需要解压缩某些文件 为此 我找到了图书馆SSZip存档 https github com samsoffes ssziparchive 我将其包含在 Xcode 4 2 中 右键单击 类 文件夹 gt 将文件添加到项
  • 使用 std::greater 或 std::less 作为参数的参数

    我想创建一个带有接受以下任一参数的函数std greater