C++11 std::bind 和 boost::bind 之间的区别

2024-02-04

两者有什么区别吗?或者我可以安全地替换每次出现的boost::bind by std::bind在我的代码中,从而消除对Boost的依赖?


  • boost::bind 关系运算符重载 http://www.boost.org/libs/bind/#bind.purpose.overloaded_operators_new_in_boos, std::bind才不是。

  • boost::bind 支持非默认调用约定 http://www.boost.org/libs/bind/#bind.implementation.stdcall, std::bind不保证(标准库实现可能会提供此扩展)。

  • boost::bind提供了一种直接机制,允许人们prevent嵌套绑定表达式的热切求值(boost::protect http://www.boost.org/libs/bind/#bind.purpose.using_nested_binds_for_function_), std::bind才不是。 (也就是说,人们可以使用boost::protect with std::bind如果他们愿意的话,或者自己简单地重新实现它。)

  • std::bind提供了一种直接机制,允许将任何用户定义的函子视为嵌套绑定表达式,以便force热心评价(std::is_bind_expression http://en.cppreference.com/w/cpp/utility/functional/is_bind_expression: [func.bind.isbind]/1, [func.bind.bind]/10),boost::bind才不是。

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

C++11 std::bind 和 boost::bind 之间的区别 的相关文章

  • 如何在 DataColumn.Expression 中使用 IF/ELSE 或 CASE?

    我有一个包含 1 列的表 状态 我想添加另一列名为 Action 的列 其值如下 如果 Status Yes 则 Action Go 否则 Action Stop 我使用以下代码添加到 操作 列中 但它不起作用 myDataTable Co
  • 有没有快速创建集合的方法?

    目前我正在创建一个像这样的新集 std set a s s insert a1 s insert a2 s insert a3 s insert a10 有没有办法创建s在一行 int myints 10 20 30 40 50 std s
  • QCombobox 向下箭头图像

    如何更改Qcombobox向下箭头图像 现在我正在使用这个 QSS 代码 但这不起作用 我无法删除向下箭头边框 QComboBox border 0px QComboBox down arrow border 0px background
  • 我如何理解这个 C 类型声明?

    double bar int double double double double 在查看讲座幻灯片时 我发现了留给学生的练习 用简单的英语来说 什么是类型bar在这个 C 声明中 Please帮助我解决这个问题 我什至不知道从哪里开始
  • 更改 Qt OpenGL 窗口示例以使用 OpenGL 3.3

    我正在尝试更改 Qt OpenGL 示例以使用更现代的 opengl 版本 330 似乎合适 所以我做了 在 main cpp 上设置版本和配置文件 设置着色器版本 更改着色器以使用统一 它现在构建没有任何错误 但我只看到一个空白窗口 我错
  • 在 Xamarin 中隐藏软键盘

    如何隐藏软键盘以便在聚焦时显示Entry在 Xamarin forms 便携式表单项目中 我假设我们必须为此编写特定于平台的渲染器 但以下内容不起作用 我创建自己的条目子类 public class MyExtendedEntry Entr
  • 根据 N 个值中最小的一个返回不同的结果

    不确定如何使标题更具描述性 所以我只是从一个例子开始 我使用下面的代码位 它从枚举中选择一个方向 具体取决于四个轴中哪一个与给定方向相比形成最小角度 static Direction VectorToDirection Vector2 di
  • 指向特征矩阵的指针数组

    我在代码中使用 Eigen 的 MatrixXd 矩阵 在某个时刻我需要一个 3D 矩阵 由于 Eigen 没有三维矩阵类型 因为它仅针对线性代数进行了优化 因此我创建了一个 MatrixXd 类型的指针数组 Eigen MatrixXd
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • 时间:2019-03-17 标签:c#ThreadSafeDeepCopy

    我一直在阅读很多其他问题以及大量谷歌搜索 但我一直无法找到明确的解决方案 根据我读过的一些最佳实践 类的静态方法应该创建线程安全的 并且实例成员应该将线程安全留给消费者 我想为该类实现深度复制方法 该类本身还有其他引用类型成员 有没有什么方
  • 如何获取 QTableView 的标题列表?

    我有一个QTableView我的对话框中的对象 我需要访问该表的水平标题并将它们放入QStringList object 尽管进行了大量搜索 但我在 Qt 文档中找不到如何获取此标头列表 编辑 我发现的最接近的地方是this https w
  • 单例模式和 std::unique_ptr

    std unique ptr唯一地控制它指向的对象 因此不使用引用计数 单例确保利用引用计数只能创建一个对象 那么会std unique ptr与单例执行相同 单例确保只有一个实例属于一种类型 A unique ptr确保只有一个智能指针到
  • 在 JSQMessagesViewController 中显示 LocationMediaItem

    我刚刚尝试实施LocationMediaItem in my Xamarin iOS应用程序使用JSQMessagesViewController 一切都很顺利 唯一的问题是UICollectionView应该显示位置的单元格永远停留在加载
  • 检查 RoutedEvent 是否有任何处理程序

    我有一个自定义 Button 类 当单击它时 打开特定窗口 它总是执行相同的操作 我添加了一个可以在按钮的 XAML 中分配的 Click 事件 就像常规按钮一样 当它被单击时 我想执行 Click 事件处理程序 如果已分配 否则我想执行默
  • 每个租户的唯一用户名和电子邮件

    我正在使用以下代码编写多租户应用程序ASP NET Core 2 1 我想覆盖默认的与用户创建相关的验证机制 目前我无法创建多个具有相同的用户UserName My ApplicationUser模型有一个名为TenantID 我想要实现的
  • 我可以让 ungetc 取消阻止阻塞的 fgetc 调用吗?

    我想在收到 SIGUSR1 后使用 ungetc 将 A 字符重新填充到标准输入中 想象一下我有充分的理由这样做 调用 foo 时 stdin 中的阻塞读取不会被收到信号时的 ungetc 调用中断 虽然我没想到它会按原样工作 但我想知道是
  • 您是否将信息添加到每个 .hpp/.cpp 文件的顶部? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 创建新的 C 头文件 源文件时 您会在顶部添加哪些信息 例如 您是否添加日期 您的姓名 文件描述等 您是否使用结构化格式来存储此信息 e g F
  • 在简单注入器中解析具有自定义参数的类

    我正在使用以下命令创建 WPF MVVM 应用程序简易注射器作为 DI 容器 现在 当我尝试从简单注入器解析视图时遇到一些问题 因为我需要在构造时将参数传递到构造函数中 而不是在将视图注册到容器时 因此这不是适用的 简单注入器将值传递到构造
  • 从 JavaScript 中的 OnClientClick 事件中阻止 C# 中的 asp:Button OnClick 事件?

    我有一个asp Button在我的网页上 它调用 JavaScript 函数和代码隐藏方法 后者进行调用以导航到另一个页面 在 JavaScript 函数中 我正在检查条件 如果不满足这个条件 我想中止导航 以便OnClick方法未被调用
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁

随机推荐

  • AngularJS 指令从控制器访问属性

    我正在尝试访问控制器函数中指令的属性 然而 当我访问它时 它是未定义的 我注意到如果我做一个简单的计时器它就可以工作 有没有办法仅在指令及其范围准备好并设置为使用之后才执行代码 我摆弄了它 确保您的控制台已打开 http jsfiddle
  • 将值从一种形式传递到另一种形式 (C#)

    我的程序中有一个搜索表单 当用户双击搜索表单上的 dgv 的 单元格时 我希望程序关闭该表单并跳转到主表单上的项目 我通过使用唯一的 ID 来标识每个项目来做到这一点 我正在尝试将行 id 的值传递给其他表单 问题是 它说我每次都传递零值
  • 错误:获取临时地址 [-fpermissive]

    我已经研究了这个问题几个小时 但毫无结果 基本上我有 struct rectangle int x y w h rectangle player RegionCoordinates Region Coord rectangle temp t
  • BeautifulSoup:只要进入标签内部,无论有多少个封闭标签

    我正在尝试从 中删除所有内部 html p 使用 BeautifulSoup 的网页中的元素 有内部标签 但我不在乎 我只想获取内部文本 例如 对于 p p Red p p i Blue i p p Yellow p p Light b g
  • 如何将 utf16 ushort 数组转换为 utf8 std::string?

    目前我正在编写一个插件 它只是现有库的包装器 插件的主机向我传递一个 utf 16 格式的字符串 定义如下 typedef 无符号短 PA Unichar 并且包装的库仅接受 const char 或 std string utf 8 格式
  • 使用 c++ std::unique_ptr<> 或 std::shared_ptr<> 管理 Objective-C 对象

    Objective C 可以在某种程度上与 C 混合 可以互相打电话 https stackoverflow com q 1061005 1792701 但 Objective C 对象仍然或多或少是手动管理的 并且 RAII 习惯用法在该
  • 有没有一种非常简单的方法来处理 EDIFACT(例如 D96A)?

    我们是一家使用 XML 接口等现代技术的现代化公司 但我们的许多客户希望我们提供 EDIFACT 格式 如 D96A 的电子发票 不 我们不能使用现有的库 因为它们不是用我们的 Navision 软件使用的 C AL 编程语言编写的 因此
  • 使用 google gson 进行 json 对象序列化/反序列化

    我想将 java 对象序列化为 json 或从 json 反序列化 谷歌 gson 更好 让我有A类 class A int x 1 int y 2 然后 如果我调用 new Gson toJson new A 我将得到以下结果 x 1 y
  • Java - 在另一个线程中使用可变对象引用的首选设计?

    public class ObjectA private void foo MutableObject mo new MutableObject Runnable objectB new ObjectB mo new Thread obje
  • 使用 php sdk 在 facebook 中获取访问令牌时出错

    我正在使用的代码 fb new Facebook Facebook app id gt app id app secret gt app secret default graph version gt v2 6 helper fb gt g
  • 动态添加类后,jQuery 悬停处理函数在取消悬停时不起作用[重复]

    这个问题在这里已经有答案了 根据我的研究 我相信以下代码应该有效 我使用 jquery 动态地将图像添加到页面 它从 JSON 文件中提取这些图像 因此我需要使用 jQueryon http api jquery com on 方法来允许此
  • C99 中的易失性语义

    我对我正在编写的一些低级代码有疑问 我需要将对象用作易失性的 但这不一定是我希望将类型声明为易失性的 出于可重用性原因 然而 我可以定义指向结构的限定变体的指针 如下段所述 struct x int bar struct x foobar
  • 如何在express中重定向到post请求

    我正在创建一个登陆页面 点击该页面时会自动触发 Facebook 身份验证流程 但是 我无法自动从索引重定向到signup路线 如何从GET请求给一个POST要求快递 router get function req res redirect
  • 在列表框中搜索

    HI 我正在尝试将文本框放在列表框中进行搜索 我有一个 TextBox SearchText 其中包含以下代码 private void SearchText TextChanged object sender EventArgs e in
  • 如何获取意图服务中的上下文

    场景如下 我有一个 WakefulBroadcastReceiver 它执行以下操作 备份到网络计算机或云端 它设置为在 半夜 当我知道平板电脑可以访问 局域网 备份会将数据存储到实例化 WakefulBroadcastReceiver 的
  • visio 的 vba 编程

    目前 我正在IVR 交互式语音应答 系统工作 要在 IVR 中添加服务 我必须在 visio 中制作流程 该流程具有 IVR 系统卖家提供的预定义形状 形状是用 VBA 编程的 我决定学习VBA来修改预定义的形状 在google中搜索时 它
  • 属性更改时重新构建/重新渲染 Angular2 组件

    如何实施 我的子组件 import Component Input ngOnInit from angular2 core Component selector my component template div In child comp
  • 存储库名称作为 GitHub Action 环境变量?

    如何获取存储库名称 而不是用户或组织 作为 GitHub Actions 中的环境变量 我发现github repository但这包含所有者作为第一部分 如下所示 owner repo Try github event repositor
  • 如何控制 Honeycomb 中的软菜单按钮?

    我有一个应用程序 我想在其中关闭菜单按钮 我正在选择其他人的项目 并且不确定是什么引起了菜单按钮的出现 它没有 做任何事情 有没有办法手动关闭该图标 或者我必须首先找出它被显示的原因 请不要批评寻找解决方法 显然在理想的世界中 我会对代码足
  • C++11 std::bind 和 boost::bind 之间的区别

    两者有什么区别吗 或者我可以安全地替换每次出现的boost bind by std bind在我的代码中 从而消除对Boost的依赖 boost bind 关系运算符重载 http www boost org libs bind bind