引用如何绑定到纯右值?

2023-12-12

cppreference 说:当引用绑定到纯右值时,会创建一个临时对象。它们是指 const 左值引用和右值引用吗?:

当纯右值具体化时,会创建临时对象,以便将其用作左值,这会在以下情况下发生 (C++17 起):

  • 将引用绑定到纯右值

如果他们的意思是这样,绑定到相同类型纯右值的右值引用和常量左值引用是否会创建临时值?我的意思是,这是否正在发生:

const int &x = 10; // does this creates temporary?

int &&x2 = 10; // does this creates temporary?

唯一允许绑定到对象右值(包括纯右值)的引用是右值引用和const non-volatile左值引用。当纯右值发生这样的绑定时,就会具体化一个临时对象。因此,OP 的两个示例中都发生了临时物化:

const int &x = 10;
int &&x2 = 10;

第一个临时文件(值为 10)将在以下情况下被销毁:x超出范围。第二个临时值(也具有值 10,但可以使用以下命令修改其值)x2)将被销毁时x2超出范围。

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

引用如何绑定到纯右值? 的相关文章

随机推荐

  • iOS 7.1 颜色变化,如何更改搜索栏颜色?

    On iOS7 0 3 7 0 6 my searchBar colour is Gold yellow colour like this 但在 iOS 7 1 上 颜色变成了这样 I set searchBar tintColor UIC
  • 解析异常:在第 1 行第 0 列:未找到元素

    我有一个奇怪的问题 我收到以下导致强制关闭的错误 org apache harmony xml ExpatParser ParseException 在第 1 行第 0 列 在 org apache harmony xml ExpatPar
  • 将 Java 中的加密代码转换为 Ruby

    我一直在尝试将java中的加密代码转换为ruby 但我无法完全做到这一点 我得到不同的价值观 passphrase passphrase STATIC KEY byte key passphrase getBytes UTF 8 Messa
  • 在 Ubuntu 上绘制大型示波器文件时出现内存错误

    我正在尝试读取大型示波器 trc文件并绘制它们 绘制一个文件是可行的 但是一旦我将脚本放入循环中 尝试绘制所有文件 1 个文件一个循环 我就会得到一个MemoryError Code import os import pandas as p
  • 使用 Adob​​e CQ5 的外部数据库?

    有什么办法可以连接外部数据库吗mysql可以连接到Adobe CQ5 Adobe cq5 中的 JCR Java Content Repository 现在默认连接到 H2 数据库 如何使其使用 sql mysql 转到 system co
  • 如何强制 Visual Studio 引用本地企业库 DLL 文件而不是已安装的目录文件

    我有一个引用企业库 DLL 的 asp net 项目 我可以构建和部署我的项目 但部署构建失败 因为它找不到 DLL 例如 我查看了 Microsoft Practices EnterpriseLibrary Common 的属性 我注意到
  • 我可以在 OpenCV 中使用重映射来获取点位置吗

    我拍了一张照片A使用 RGB 相机 我知道一个点的位置g在照片中A 相机需要进行相机校准 现在我想知道点的位置g校准后 我使用的代码如下 但我想获取点位置 而不是图像 我怎样才能做到这一点 你能给我一些建议吗 initUndistortRe
  • jquery 选项卡的下一个-上一个功能

    我需要在单击 Next 和 Prev html 按钮时为 jquery 选项卡提供 Next Prev 功能 我在用jquery 1 9 1 js and jquery ui 1 10 2 custom js文件 我已经实现了下面的代码 但
  • 如何使用sql定义的函数作为字段?

    我正在使用 SQL 在 Sql Management Studio 2012 中创建表 如何使用 Sql Server 中已定义的名称 例如 User ID User Name 创建字段或列 我想将它们用作表中的字段 表定义来自重复帖子 c
  • VB6代码升级[重复]

    这个问题在这里已经有答案了 可能的重复 从 VB6 迁移到 NET 的最佳策略 Visual Basic 6 0 转换工具比较 有没有任何人都可以推荐的好工具来将商业 VB6 应用程序转换为 VB NET 应用程序 我发现了一些免费的和一些
  • 尝试对 python httplib 中无法访问的网络进行套接字操作

    我正在尝试使用 httplib 从 django 创建 REST 客户端 但它拒绝连接 我尝试了以下方法 import hashlib import hmac from django shortcuts import render to r
  • 更新期间 MS Access 字段过多

    当我尝试在 MS Access 中更新表时 它给出错误 指出定义的字段太多 我用谷歌搜索 发现我需要修复和压缩 我做了 但仍然不起作用 有人有什么想法吗 另外 什么实际上算作 太多字段 计数器 Thanks 我似乎找到了答案 Microso
  • 在保存之前删除不会失效:是真的吗?

    我的情况 我有复杂的 24 个实体 许多关系和许多有序对多关系 模型Core Data 现在假设我有一个实体PlayList和一个实体Song 并在PlayList有序对多关系Song 这种关系存在逆关系 并且两者都有nullify删除规则
  • 计算文件中每一列的平均值

    我有一个包含 n 行 以逗号分隔 和列的文本文件 我想找到每列的平均值 不包括空字段 示例输入如下所示 1 2 3 4 6 7 期望的输出是 2 5 4 5 4 5 我尝试过 awk F for i 1 i lt NF i sum i su
  • C# - 将对象保存到 JSON 文件

    我正在编写一个 Windows Phone Silverlight 应用程序 我想将对象保存到 JSON 文件 我写了下面的代码 string jsonFile JsonConvert SerializeObject usr Isolate
  • 使用批处理运行带有参数的exe

    如何将参数传递到运行 exe 的批处理文件中 我有一个需要 2 个参数的程序 我想使用具有定义参数的 bat 文件运行它 5 五次 像这样的东西 FOR L G IN 1 1 5 DO start path program exe 20 1
  • 为什么 gcc 和 clang 为 std::find 生成这么多代码?

    我在 godbolt org 中输入以下代码 并使用 gcc 10 1 和 clang 10 编译它 include
  • 按键表达式存储静态过滤器

    我有一个函数 当传入一个时 它会生成一个表达式来通过主键过滤表Object 这非常类似于Find函数 只是它没有实现 所以你可以传递一个IQueryable之后周围 public static Expression
  • 使用标头过滤代理响应标头

    我有一个上游服务器 它经常通过返回 Set Cookie 响应标头来设置 Cookie 我想在上游服务器前面有一个 nginx 代理 Browser gt Nginx gt Upstream If the Browser gt Nginx请
  • 引用如何绑定到纯右值?

    cppreference 说 当引用绑定到纯右值时 会创建一个临时对象 它们是指 const 左值引用和右值引用吗 当纯右值具体化时 会创建临时对象 以便将其用作左值 这会在以下情况下发生 C 17 起 将引用绑定到纯右值 如果他们的意思是