为什么 std::atomic 的compare_exchange 采用期望值的引用?

2023-11-24

原因是什么std::atomic<T>::compare_exchange_*通过引用获取预期值,而不是通过值获取?


compare_exchange_*变化expected如果操作失败,则返回实际值。它使循环变得更简单一些。

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

为什么 std::atomic 的compare_exchange 采用期望值的引用? 的相关文章

  • 为什么我需要显式编写“auto”关键字?

    我正在从 C 98 转向 C 11 并且已经熟悉了auto关键词 我想知道为什么我们需要明确声明auto编译器是否能够自动推导类型 我知道 C 是一种强类型语言 这是一条规则 但如果不显式声明变量就不可能实现相同的结果auto 放弃显式的a
  • 如何在 ASP.Net Core 6 Web Api 中依赖注入 Microsoft Graph 客户端

    我正在尝试使用 ASP Net Core 6 设置 Web api 以便用户可以到达我的端点 然后我使用特权帐户在 Teams 中执行一些工作 我认为我没有正确连接 DI 部分 因为在向 Teams 发出请求时出现以下错误 MsalUiRe
  • 进入嵌入式[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 有什么办法可以让这个 C# 代码更快吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在读取一个大文件 X12 并解析其中的信息 我有两个瓶颈功能 我似乎无法解决 read line 和 get element 有什
  • 缓存友好的矩阵移位功能

    我想将二维方阵的第一行移到最后一行 所以如果我有一个像A这样的矩阵 我想要得到B 我可以使用两个简单的 for 循环来做到这一点 例如 void shift int M int N int A M N int i j temp for i
  • 改进绩效反思 - 我应该考虑哪些替代方案?

    我需要动态地设置对象上的一堆或属性的值 将其称为传输对象 将在短时间内创建相当数量的此类传输对象并设置其属性 我想避免使用反射 还有其他选择吗 如果是的话 有我可以查看的示例实现吗 Use Delegate CreateDelegate h
  • 在“delete this;”语句期间发生了什么?

    请考虑以下代码 class foo public foo foo void done delete this private int x 以下两个选项中发生了什么 并且有效吗 选项1 void main foo a new foo a gt
  • 使用 C# 启动 Outlook

    我可以让 C 在代码中启动 Outlook 吗 在 VB6 中 我们使用对象 Outlook Application 并编写 Set oOutlook CreateObject Outlook Application Set oNameSp
  • C#:如何确定坐标是否在美国大陆?

    我正在获取坐标 纬度 经度 我想检查这些坐标是否位于美国大陆 有没有一种简单的方法可以在 C 中实现 我可以将坐标转换为 MGRS 或 UTM 谢谢 哇哦 他们专门为你准备了 http econym org uk gmap states x
  • 调用 Console.ReadLine() 的方法的 C# 单元测试

    我想为名为的类的成员函数创建一个单元测试ScoreBoard它存储了一场比赛中排名前五的球员 问题是我为 SignInScoreBoard 正在呼叫Console ReadLine 这样用户就可以输入他们的名字 public void Si
  • 更改为通用接口对性能的影响

    我使用 Visual Studio 使用 C NET 开发应用程序 ReSharper 在我的方法原型中经常建议我用更通用的类型替换输入参数的类型 例如 如果我仅在方法主体中使用带有 foreach 的列表 则使用 List 和 IEnum
  • 在运行时生成可执行文件

    好吧 所以我想知道如何创建一个程序 该程序创建第二个程序 就像大多数压缩程序如何创建自解压自可执行文件一样 但这不是我需要的 假设我有 2 个程序 每个都包含一个类 我将使用一个程序来修改类并用数据填充类 第二个文件将是一个也具有该类的程序
  • 是否有普遍接受的 GMP 替代方案来实现任意精度? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在寻找 BigInt 库的过程中 我发现了这篇文章 Microsoft Windows 上的 C 或
  • 以编程方式将 UserControl 从 ContentControl 移动到另一个 ContentControl

    在 WPF 应用程序中 我想在代码中将 UserControl 从 ContentControl 移动到另一个控件 myContentControl2 Content myUserControl 在这种情况下我得到一个错误 指定的元素已经是
  • 如何通过反射获取透明代理的属性值?

    我的代码接收透明代理而不是原始实例 虽然这var type obj GetType 产生原始类的类型 下面的代码抛出TargetException 对象与目标类型不匹配 var value property GetValue obj nul
  • 通过 C++ 标头在 C++ 和 C# 中使用枚举

    我有一个用 C 编写的服务器 位于命名管道的末端 嗯 提供服务 可以发送到服务器的命令在位于头文件中的枚举中定义 enum e doThing1 e doThing2 e doLastThing 所需枚举的值被放入发送到服务器的消息的第一个
  • GCC编译非常慢(文件大)

    我正在尝试编译一个大的 C 文件 专门用于 MATLAB mexing C 文件大约 20 MB 可用来自 GCC 错误跟踪器 https gcc gnu org bugzilla attachment cgi id 36632如果你想玩一
  • 编写一个转储屏幕像素的 RDP 客户端

    我想在中实现 RDP 客户端C 它能够获取屏幕所有像素的颜色值并将它们转储到文件中 我知道这在概念上与 RDP 的工作方式不同 但我的应用程序需要它 我正在尝试利用freerdp https github com FreeRDP FreeR
  • 阅读《Effective、MoreEffective 和Effective Modern C++(和 STL)》的首选顺序是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 据我所知 More effective C 是 Effective C 的扩展 而 Effective Modern C 则专注于 C 11 和
  • C# p/Invoke 如何使用 DirectX 游戏的 SendInput 模拟 keyPRESS 事件

    我经常为各种机器人或其他 GUI 自动化程序模拟键盘按下事件而苦苦挣扎 我已经成功地使用以下方法模拟按键事件 INPUT kInput new INPUT 1 kInput j type SendInputEventType InputKe

随机推荐

  • Android-Facebook 应用程序的密钥哈希

    我正在开发一个 Android 应用程序 我想在其中集成 Facebook 发帖功能 我下载了Facebook Android SDK 我得到了 那里的 readme md 文本文件 其中提到生成 Android 的密钥哈希 我如何生成它
  • 减少内存流失的方法

    背景 我有一个 Spring 批处理程序 它读取一个文件 我正在使用的示例文件大小约为 4 GB 对文件进行少量处理 然后将其写到 Oracle 数据库中 我的程序使用 1 个线程来读取文件 并使用 12 个工作线程来进行处理和数据库推送
  • 绘制图像最简单的方法?

    假设您要从硬盘读取通用文件格式的图像文件 更改一个像素的颜色 并将生成的图像显示到屏幕上 使用 C 语言 您会推荐哪些 开源 库来用最少的代码完成上述任务 或者 哪些库会以最优雅的方式执行上述操作 一些背景知识 我最近阅读了大量计算机图形文
  • 如何使用 Bash 循环日期?

    我有这样的 bash 脚本 array 2015 01 01 2015 01 02 for i in array do python home user executeJobs py i gt home user i log done 现在
  • 如何根据动态字段名引用 Linq 中的字段

    首先 对这个糟糕的问题标题表示歉意 不完全确定我问的问题是否正确 通常我可以执行以下操作来访问字段 MyTables table dc MyTables SingleOrDefault p gt p id someId somevalue
  • 在哪里放置前端 javascript 配置变量

    我有一个 Javascript 前端 可以对我的后端进行 Ajax 调用 为此 它需要一个我在 Ajax get 调用中硬编码的 backend URL 例如 http myservice 后端 现在 如果我想在不同的机器上部署我的应用程序
  • 如何检测GPS信号强还是弱?

    如何检测GPS信号强度 如低 弱 或高 有API类吗 提前致谢 GpsStatus getSatellites for each of those do GpsSatelite getSnr that ruturns the signal
  • Ruby on Rails:搜索表单 - 多个搜索字段

    我正在尝试创建一个允许用户搜索数据库的应用程序 搜索页面布局将使用一些下拉菜单来显示数据库中已有的数据以缩小搜索范围 并且还使用文本框来允许用户输入 项目名称 等关键字 我在让 Rails 获取搜索表单中输入的所有信息并执行一项大型搜索时遇
  • 如何从 Python 列表中的字符串中删除前导和尾随空格

    我有一个清单 row hi there how some stuff is here are you 如你看到的row 8 some stuff is here are 如果最后一个字符是空格 我想得到除了最后一个字符之外的所有内容 如下所
  • 我可以编写一个具有条件表选择的查询吗

    我们有 2 个具有相同结构的表 并且基于一个变量 我想选择要选择的表 而不必在我的过程中编写 2 个查询 这可能吗 I tried declare table int set table 1 Select orderID Quantity
  • 为什么 querySelector 仅选择第一个元素以及如何解决此问题?

    我正在尝试制作一个日历 当我单击其中一个日期时 会弹出一个您必须填写的表格 我无法使其正常工作 我唯一能上班的是第一个 1 约会 其他一切都不起作用 我不知道如何解决它 我尝试重写代码并切换到 id 但没有任何效果 任何帮助表示赞赏 谢谢
  • 如何在 Eclipse 中附加 Android 支持库源代码?

    将源代码附加到外部库真是太棒了 在哪里可以找到 v4 的源代码支持包 最好是一个 zip 文件 可以轻松附加到android support v4 jar在 Eclipse 中 我只是想添加另一种附加支持库源的方法 需要20或更高版本的AD
  • 我可以调试从 IPA 存档安装的 iOS 应用程序吗?

    我的应用程序遇到一些问题 仅当我临时安装它时才会重现 但如果我只是从 Xcode 运行该应用程序则不会重现 我想调试这个问题 但到目前为止我还没有任何运气 我正在使用 Xcode 5 1 1 这是我所做的 1 转到产品 gt 方案 gt 编
  • HTML5/JS/jQuery:输入无效时,将不同的(任意)元素标记为无效

    我正在尝试创建一个标准的新密码表单 您可以在其中输入一次新密码 然后再次输入以进行确认 我希望一旦你模糊这些字段 如果它们不匹配 both将被标记为无效 如以下情况 用户输入密码abc into newpassword1 用户选项卡 new
  • 编写重试逻辑的最简洁方法?

    有时我需要在放弃之前重试某个操作几次 我的代码是这样的 int retries 3 while true try DoSomething break success catch if retries 0 throw else Thread
  • 有 Spring Boot 与 cucumber-jvm 配合使用吗?

    我正在使用 Spring Boot 因为它删除了所有无聊的东西 让我专注于我的代码 但所有测试示例都使用 junit 而我想使用 Cucumber 有人能给我指出正确的方向 让黄瓜和弹簧启动 进行所有自动配置和接线 并让我的步骤定义使用自动
  • IntelliJ 和 WAR....更改的文件不会被服务器自动识别

    我正在使用 Tomcat 运行 Intellij Ultimate 并部署战争 一切都很好地部署到 tomcat 的 webapp 目录 当我更改 xhtml 文件等文件时 tomcat 有没有办法自动获取该更改 截至目前 我需要从 Int
  • 通过 JavaMail API 发送邮件时无法连接到 SMTP 主机异常

    我正在尝试使用 JavaMail API 向 Gmail 帐户发送电子邮件 我已经完成了以下代码 我想将邮件发送给多个收件人 但它不起作用 它给出了一个异常 例如 无法连接到 SMTP 主机 发送失败 package com cts ema
  • 在 Hamcrest 中进行测试,列表中仅存在一项具有特定属性的项目

    使用 Hamcrest 我们可以轻松测试是否存在最后一个列表中具有特定属性的项目 例如 List
  • 为什么 std::atomic 的compare_exchange 采用期望值的引用?

    原因是什么std atomic