C++引用合并(引用的引用)

2023-05-16

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、引用合并
  • 总结


前言

最近做一个项目,遇到了C++的引用合并,到底是怎么回事呢?我们一起来看看。


一、引用合并

如果你让引用指向某类型的引用,那么你得到的还是该类型的引用,而非特殊的引用的引用类型。简而言之就是说引用的引用还是引用,不是什么新类型,这一点至关重要。

例如:

using rr_i = int&&; //右值引用
using ir_i = int&; //左值引用
using rr_rr_i = rr_i&&; //int&& &&得到的类型是int&&
using ir_rr_i = rr_i&; //int&& &得到的是int&
using rr_ir_i = ir_i&&;//int& &&得到的是int&
using ir_ir_i = ir_i&;//int& & 得到的是int&

为什么会出现这样的结果呢?

记住下面的原则:

  1. 永远是左值优先
  2. 不管我们怎么做都无法改变左值引用绑定左值的事实

总结

还是蛮简单的,记住原则就不会搞错了。

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

C++引用合并(引用的引用) 的相关文章

  • 排序算法

    第一种 xff1a 冒泡排序 每一次把最大的冒泡 span class hljs comment javasrcript 代码 xff1a span span class hljs function span class hljs keyw
  • javasrcript 实现的 get,post

    javasrcript 实现的 get xff0c post 1 创建ajax对象 2 连接到服务器 3 发送请求 4 接收返回值 代码如下 xff1a span class hljs comment 使用 span httpPost sp
  • Mycat入门(Windows环境)

    Mycat xff08 Windows环境 xff09 xff08 1 xff09 初入门 Mycat 是SQL集群中间件 xff0c 基于阿里开源的Cobar产品而研发 xff0c Cobar的稳定性 可靠性 优秀的架构和性能 1 MyC
  • C#Nuget 包官网链接

    C Nuget 包官网链接 https www nuget org downloads 使用文档 xff1a https docs microsoft com zh cn nuget create packages creating a p
  • Centos搭建 Git Server

    yum install y git git version git version 1 8 3 1 添加Git用户 useradd jggit passwd git git 新建库 Cd home jggit data mkdir p su
  • turnserver (coturn + redis) 配置ICE server 临时用户密码【实践】

    背景 前端连接turn服务时一般都需要设置账号密码 xff0c 由于都是在js中配置的 xff0c 长期凭据相对临时用户安全性会差很多 xff0c 本文通过程序生成临时的账号密码 xff0c 把临时凭据设置到Redis中 xff0c tur
  • C# 端口转发

    业务需要跳转ip xff0c 又不想迁移程序 xff0c 可以用此方法进行端口转发 span class hljs keyword static span span class hljs keyword void span Main spa
  • 列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少

    列数的规则如下 1 1 2 3 5 8 13 21 34 求第30位数是多少 分析 xff1a 从第二个数开始 xff0c 每位等于前两个数相加 递归 xff1a span class hljs keyword public span sp
  • dotnet core 使用传统Cookie

    dotnet core 使用传统Cookie 先在添加Cookie中间件 app UseCookiePolicy public void Configure IApplicationBuilder app IHostingEnvironme
  • dotnet core web IApplicationBuilder 中间件学习

    dotnet core web IApplicationBuilder 中间件学习 编写一个自己的中间件的模版 public static class MyApp public static IApplicationBuilder User
  • docker gitlib 搭建

    docker gitlib 搭建 1 docker 命令构建 sudo docker run v etc localtime etc timezone rw v etc localtime etc localtime rw d p 8443
  • net core Ocelot 网关 初使用(1)

    新建 net core webapi 项目 安装 nuget 包 96 96 96 Install Package Ocelot 96 96 96 配置 添加一个Ocelot json的文件用来添加Ocelot的配置 转发 http loc
  • net core Ocelot 网关 初使用(2)- 搭配 consul 服务使用 Ocelot

    搭配 consul 服务使用 Ocelot xff0c 自动路由配置 新建webapi 项目 xff0c 安装 nuget 包 install package Ocelot install package Ocelot Provider C
  • spring boot web开发(1)构建项目

    spring boot web开发 xff08 1 xff09 构建项目 1 构建项目 去 https start spring io 下载基础项目在pom xml 添加 web 依赖 lt dependency gt lt groupId
  • SpringBoot web开发(2)session登录注册

    SpringBoot web开发 xff08 2 xff09 session登录注册 新建 LoginController java 文件使用 session 控制登录 64 Autowired HttpSession session 添加
  • SpringBoot web开发 (3) 使用 mysql-jpa 登录验证

    3 使用 mysql jpa 构造 数据库实体类型 添加maven依赖 lt dependency gt lt groupId gt org springframework boot lt groupId gt lt artifactId
  • JAVA+Netty根据二级域名实现多租户内网穿透功能【设计实践】

    目录 背景 实践 项目结构 原理分析 代码实现 cc common项目 cc server项目 cc client项目 Nginx配置 使用 启动服务端 启动客户端 背景 上一篇JAVA基于Netty实现内网穿透功能 设计实践 殷长庆的博客
  • C++:stringstream格式化字符串

    C语言通过snprintf对字符串进行格式化 格式化前需要首先对字符串的长度预估 如果长度大于了字符数组的大小 格式化字符串会被截断 C 通过stringstream对字符串进行格式化 include lt sstream gt inclu
  • Ubuntu:apt软件包管理工具

    apt是Advanced Packaging Tool 是Ubuntu的安装包管理工具 主要的几个操作为 1 安装软件包 sudo apt install 软件包名 2 卸载软件包 而保留软件的配置文件 sudo apt remove 软件
  • CMake:message输出消息

    可以在执行cmkae的时候使用message输出信息 xff1a message lt mode gt 34 message text 34 其中mode有如下几个选项 xff08 优先级由低到高 xff09 xff1a TRACE xff

随机推荐

  • C++(11):通过underlying_type获取/输出枚举类的值

    C 11 枚举类 风静如云的博客 CSDN博客 c 11 枚举类 介绍了枚举类使用的好处 不过如果直接输出枚举类的值是不行的 include lt iostream gt using namespace std int main enum
  • gitlab-ce安装

    GitLab是一个利用 Ruby on Rails 开发的开源应用程序 xff0c 实现一个自托管的Git项目仓库 xff0c 可通过Web界面进行访问公开的或者私人项目 GitLab拥有与Github类似的功能 xff0c 能够浏览源代码
  • WSL2安装到其它目录下

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 WSL2是什么 xff1f 二 下载Ubuntu20 041 打开Mocrosoft Store2 导出发行版 总结 前
  • 解决Ubuntu20.04安装CUDA-11.2报256错误的问题

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 报错的原因是什么 xff1f 二 安装cuda 11 2三 安装nvidia driver 455四 再装cuda 11
  • ARM整形算力计算

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 RK3399规格 xff1f 二 开始计算1 参考2 计算 总结 前言 之前做人工智能使用RK3399的CPU去推理 x
  • WSL2使用USB设备

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 WSL2是什么 xff1f 二 编译内核1 查看自己的内核2 准备工作3 下载适合自己的内核版本4 开始编译4 使用内核
  • cron的正确食用方法

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 cron是什么 xff1f 二 使用步骤1 字段含义2 加强学习3 crontab命令4 工作原理5 其它用法6 补充内
  • windows 下 mongodb 导入导出collection(json、csv)

    1 下载mongodb xff0c 并安装 https www mongodb com dr fastdl mongodb org win32 mongodb win32 x86 64 2008plus ssl 3 4 0 signed m
  • 【WSL2启用systemd支持(一个配置即可)】

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 systemd是什么 xff1f 二 备份数据1 归档2 备份分支 三 准备工作1 内核升级 四 修改配置总结 前言 很
  • WSL2+Systemd支持度测试

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 systemd是什么 xff1f 二 开始测试1 Docker2 rsyslog3 systemd timesyncd4
  • 部分解决Ubuntu安装X11VNC需要自动登录的问题

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 GDM是什么 xff1f 二 VNC绑定GDM账户1 vnc绑定gdm登录 总结 前言 Ubuntu18 04 Ubun
  • Linux watchdog配置

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 watchdog是什么 xff1f 1 硬件看门狗2 软件看门狗 二 使用步骤1 硬件看门狗2 软件看门狗 总结 前言
  • Ubuntu内核打开硬件watchdog

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 watchdog是什么 xff1f 1 硬件看门狗2 软件件看门狗 二 编译内核1 添加配置2 开始编译3 安装内核4
  • explicit specialization of non-template

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 C 43 43 模板是什么 xff1f 二 错误原因1 主模板2 解决方法 总结 前言 相信很多人在使用C 43 43
  • HC-SR04超声波传感器使用

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 关于HC SR04二 使用步骤1 确保驱动已经安装2 安装GPIO工具3 安装GPIO的Python支持4 Python
  • 红外传感器使用

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 红外传感器 xff1f 二 使用步骤1 确保驱动已经安装2 安装GPIO工具3 安装GPIO的Python支持4 Pyt
  • Ubuntu20.04安装WineHQ-8.0

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 WineHQ是什么 xff1f 二 准备工作1 准备工作2 增加源密钥3 增加源地址 三 开始安装1 更新源缓存2 安装
  • Clion安装Platformio支持

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 系统配置二 什么是platformio三 安装配置1 安装Clion2 安装platformio插件3 安装platfo
  • ExecutorService 并发性能测试

    公共线程池 private ExecutorService executorService 61 Executors newFixedThreadPool 3 测试不使用线程池 xff0c 响应时间 public void test1 th
  • C++引用合并(引用的引用)

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 引用合并总结 前言 最近做一个项目 xff0c 遇到了C 43 43 的引用合并 xff0c 到底是怎么回事呢 xff1