如果函数指针不需要 & 符号,为什么 boost::bind 需要一个?

2023-11-26

我一直相信函数指针不需要 & 符号:

然而,我见过的每一个使用的例子boost::bind显示一个,并且我的编译器 - 在大多数情况下 - 如果省略它,则会给出通常难以理解的错误消息。

synchronize(boost::bind(&Device::asyncUpdate , this, "ErrorMessage"));  // Works

synchronize(boost::bind(Device::asyncUpdate , this, "ErrorMessage"));   // Fails

我的假设是错误的吗boost::bind的第一个参数基本上是函数指针?


函数指针不需要它,member函数指针可以。

Device::asyncUpdate是成员函数,正如您所猜测的,因为它被绑定到this.

这是来自 n3337, 5.3.1/4 的规范引用

仅当使用显式 & 并且其操作数是未括在括号中的限定 ID 时,才会形成指向成员的指针。

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

如果函数指针不需要 & 符号,为什么 boost::bind 需要一个? 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • BASIC 中的 C 语言中的 PeekInt、PokeInt、Peek、Poke 等效项

    我想知道该命令的等效项是什么Peek and Poke 基本和其他变体 用 C 语言 类似PeekInt PokeInt 整数 涉及内存条的东西 我知道在 C 语言中有很多方法可以做到这一点 我正在尝试将基本程序移植到 C 语言 这只是使用
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l

随机推荐

  • 使用nodemailer时不接受用户名和密码?

    这是我的设置控制器 var sendSmtpMail function req res var transport nodemailer createTransport service gmail auth user email prote
  • Xcode 10.1 使用 ssh key 推送到 github

    我已经从命令行手动创建了 ssh 密钥 并将其添加到我的 github gitlab 帐户中 一切工作正常 例如使用命令行和源树客户端进行克隆 推送 拉取等 问题是当我尝试使用 xcode 推送时 它给了我错误消息Authenticatio
  • {Emoji_Presentation} 和 {Extended_Pictographic} 有什么区别?

    The 最佳答案对于问题 如何使用 javascript 检测表情符号 使用Extended Pictographic Emoji Presentation在此提到大卫 沃尔什的博客文章 一个关键的区别是Extended Pictograp
  • Primefaces:所有ajax请求的默认oncomplete方法

    我正在尝试为所有 ajax 请求配置一个 oncomplete 方法 以便我可以处理会话超时 我尝试添加以下脚本 但它的工作方式与为 p ajax 元素设置 oncomplete 属性不同 它不会在每次发出 Ajax 请求时执行 ajaxS
  • 控制 NSSortDescriptor 在 Core Data 中对 nil 值进行排序的方式

    鉴于以下情况NSSortDescriptor对于具有核心数据的字符串 NSSortDescriptor sortDescriptorWithKey series ascending true selector selector caseIn
  • 将 cuda 与 gmp 链接

    我正在尝试将 cuda 与 GNU 多精度库 gmp 一起使用 当我将 mpf init 之类的 gmp 指令添加到设备代码中时 出现以下编译器错误 tlgmp cu 37 error Calling a host function gmp
  • 单选按钮和标签显示在同一行

    为什么我的标签和单选按钮不会保持在同一行 我该怎么办 这是我的表格
  • 如何在 Dapper.Net 中编写一对多查询?

    我编写了这段代码来投影一对多关系 但它不起作用 using var connection new SqlConnection connectionString connection Open IEnumerable
  • 如何将 JavaScript 包含到页面标题 MVC4 [重复]

    这个问题在这里已经有答案了 可能的重复 ASP Net MVC 3 Razor 在 Head 标记中包含 js 文件 我不想将大量 JS 放入某些布局中 并且我需要对某些特定页面执行此操作 我的意思是将一些 JS 包含到其标头中 我已经尝试
  • GoogleJsonResponseException:使用 google apps 端点引擎后端未找到 404

    我按照下面的教程进行操作 https developers google com eclipse docs running and debugging 2 0 这基本上为我现有的应用程序添加了 GAE 后端 然后我尝试下面的示例 在本地开发
  • “独特粒子归因”违规

    我编写了以下 简化的 架构来验证我收到的一些 XML 文件
  • Chrome JavaScript 开发者控制台:是否可以在不换行的情况下调用 console.log() ?

    我想使用 console log 来记录消息without每次调用 console log 后添加一个新行 这可能吗 不 这是不可能的 如果您希望将所有内容都放在一行中 或者将输出放在其他地方 例如 另一个窗口 则必须保留一个字符串并连接起
  • Selenium 和异步 JavaScript 调用

    我对 Selenium 和 JavaScript 回调函数很陌生 我有一个无法自己解决的大问题 我需要使用 JavaScript 指定一个变量 如果我使用 GoogleChrome 打开页面并使用控制台输入我的 JavaScript 代码
  • 重大地点变更 - 我们有什么保证?

    我目前正在编写一个移动 iOS 应用程序 该应用程序使用 iOS 重要位置更改服务来管理大量地理围栏 当我们从 CoreLocation 框架收到此消息时启用和禁用地理围栏 苹果开发者网站上写道 仅当设备位置发生重大变化 例如 500 米或
  • 在 Spring Boot 中发送多部分响应

    我正在研究在 Spring Boot 中开发的 api 现在我有一个 API 我必须在其中发送包含一个二进制文件和 xml 的响应 两者将由多部分边界分隔 那么有什么办法可以做到这一点吗 在 Spring Boot 中 尝试按照多部分发送响
  • 选择计数/重复项

    我有一张包含所有美国邮政编码的表格 每行包含邮政编码的城市和州名称 我正在尝试获取出现在多个州的城市列表 如果同一城市没有 X 个邮政编码 这不会是问题 所以基本上 我只想将一个州的城市算作 1 而不是将城市 州计数 7 次 因为该城市 州
  • 使用 pymongo 在 mongodb 中按 ObjectId 搜索

    我需要使用 pymongo 使用 python 搜索 ObjectId 但总是收到此错误 有什么想法如何搜索吗 import pymongo from pymongo import MongoClient from pymongo impo
  • 如何评估来自 stdin 的 PowerShell 脚本输入

    我想在 PowerShell 中评估 StdIn 的内容 如下所示 echo echo 12 powershell noprofile noninteractive command input iex Output echo 12 很遗憾
  • 如何在 C# 应用程序启动时立即运行代码?

    我已经将一些代码放在了公共内部MainWindow 但我一这样做就不断收到一些晦涩的 XAML 解析错误 不是在我的计算机上 而是在我尝试过的其他 3 台计算机上 是否有一种在应用程序启动时立即运行代码的首选方法 理论上是我希望它打电话回家
  • 如果函数指针不需要 & 符号,为什么 boost::bind 需要一个?

    我一直相信函数指针不需要 符号 然而 我见过的每一个使用的例子boost bind显示一个 并且我的编译器 在大多数情况下 如果省略它 则会给出通常难以理解的错误消息 synchronize boost bind Device asyncU