当前位置: 首页 > news >正文

外贸跨境电商网站建设开发大型企业网站建设方案

外贸跨境电商网站建设开发,大型企业网站建设方案,长沙市住房和建设局官方网站,东营建设信息网中标公示文章目录左值引用左值引用的概念左值引用的使用右值引用右值引用的概念右值引用的使用左右值相互引用左值引用对右值进行引用右值引用对左值进行引用右值引用使用场景和意义左值引用的优势左值引用的短板右值引用的优势完美转发模板万能引用完美转发实际运用场景左值引用 左值…

文章目录

  • 左值引用
    • 左值引用的概念
    • 左值引用的使用
  • 右值引用
    • 右值引用的概念
    • 右值引用的使用
  • 左右值相互引用
    • 左值引用对右值进行引用
    • 右值引用对左值进行引用
  • 右值引用使用场景和意义
    • 左值引用的优势
    • 左值引用的短板
    • 右值引用的优势
  • 完美转发
    • 模板万能引用
    • 完美转发实际运用场景

左值引用

左值引用的概念

左值是一个表示数据的表达式(如变量名或解引用的指针),我们可以获取它的地址+可以对它赋值,左值可以出现赋值符号的左边,右值不能出现在赋值符号左边。定义时const修饰符后的左值,不能给他赋值,但是可以取它的地址。左值引用就是给左值的引用,给左值取别名

左值引用的使用

在这里插入图片描述
在这里插入图片描述

右值引用

右值引用的概念

右值也是一个表示数据的表达式,如:字面常量、表达式返回值,函数返回值(这个不能是左值引用返回)等等右值可以出现在赋值符号的右边,但是不能出现出现在赋值符号的左边,右值不能取地址。右值引用就是对右值的引用,给右值取别名。

右值引用的使用

在这里插入图片描述
在这里插入图片描述
这时不知道大家有没有一个疑惑,右值引用后的别名可以修改右值吗?答案是可以的。
在这里插入图片描述
在这里插入图片描述

需要注意的是右值是不能取地址的,但是给右值取别名后,会导致右值被存储到特定位置,且可以取到该位置的地址,也就是说例如:不能取字面量10的地址,但是rr1引用后,可以对rr1取地址,也可以修改rr1如果不想rr1被修改,可以用const int&& rr1 去引用,是不是感觉很神奇,这个了解一下实际中右值引用的使用场景并不在于此,这个特性也不重要。
在这里插入图片描述

左右值相互引用

左值引用对右值进行引用

我们知道左值引用可以引用左值,那么左值引用可以引用右值吗?答案是可以的,不过要加const。
在这里插入图片描述
在这里插入图片描述

右值引用对左值进行引用

我们知道右值引用可以引用右值,那么右值引用可以引用左值吗?答案是可以的,不过要加move。move以后的值具有右值属性。
在这里插入图片描述
在这里插入图片描述
那么右值引用对左值进行引用后,可以修改吗?
答案是可以的。
在这里插入图片描述

在这里插入图片描述

右值引用使用场景和意义

前面我们可以看到左值引用既可以引用左值和又可以引用右值那为什么C++11还要提出右值引用呢?是不是化蛇添足呢?下面我们来看看左值引用的短板,右值引用是如何补齐这个短板的
在这里插入图片描述


左值引用的优势

场景一:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


场景二:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

左值引用的短板

我们知道左值引用都是对存在且还没销毁的值进行引用,但是如果一个值不存在或者销毁了,我们还能用左值引用吗?答案是不能。
场景一:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们先把右值引用的移动构造屏蔽掉,把左值引用的拷贝构造放开。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
那么如果我们把右值引用的移动构造放开呢?
在这里插入图片描述
场景二:
在这里插入图片描述
==右值引用的拷贝构造放开: ==
在这里插入图片描述

我们说了这么多把左值引用的场景换成右值引用的场景,那么右值引用到底有什么用呢

右值引用的优势

右值分为纯右值和将亡值。
我们知道左值引用对左值资源的拷贝是没错的。但是左值引用对右值的将亡值拷贝就有问题了,因为将亡值在使用一次后就会销毁掉。这时候就运用到了移动构造
移动构造本质是将参数右值的资源窃取过来,占为已有那么就不用做深拷贝了,所以它叫做移动构造,就是窃取别人的资源来构造自己。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从这里我们可以看出,右值引用时是对资源的转移不是拷贝,所以右值引用的效率高。

完美转发

std::forward<T>(t)(完美转发)在传参的过程中保持了t的原生类型属性。

模板万能引用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从运行结果可以的得知模板的&&确实是万能,既能引用左值也能引用右值。
但是引用后就退化了,全部都变成了左值。那么该怎么解决呢?如何在传参的过程中保持自己的属性呢?这时候就运用到了完美转发。
在这里插入图片描述
在这里插入图片描述

完美转发实际运用场景

没有完美转发时:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
有完美转发时:
在这里插入图片描述
在这里插入图片描述

http://www.yayakq.cn/news/822435/

相关文章:

  • wordpress如何导航网站注册安全工程师含金量
  • 甘谷县建设局网站汽车租赁网站建设
  • 网站 cms南昌房产网官网
  • 深圳高端网站建设电话网站优化排名教程
  • 早教类网站模板怎么创建网页文件
  • 旅游目的地网站建设的流程广告投放怎么做
  • 网站备案 互联网信息查询90数字设计
  • 百度做网站电话多少钱网站会更改吗
  • 电商网站如何做cc域名做网站好吗
  • 谁可以教我做网站企业搭建什么样的平台
  • 建设施工网络平台淄博网站优化首选公司
  • 建设 互动 网站 模式开一个二手车销售网站怎么做
  • 网站型与商城型有什么区别吗珠宝网站源码免费下载
  • 网站开发新动力中国商标网官网首页
  • dede 网站改宽屏代码有人有片资源吗在线观看不下载
  • 银川网站建设公司名单网站怎么做 流程
  • 搜索的网站后大拇指分享数量不见了微信分销系统多层
  • 智联招聘网站怎么做两份简历中国工程建设信息平台
  • 怎么样做网站才可以加重权重网站恢复
  • 网站制作在线版一级域名二级域名区别
  • 赣州市建设工程造价管理网站wordpress 设置ftp
  • 兰州网站建设托管wordpress登录页面空白
  • 外包公司网站网页设计文员0基础招培训
  • 专业的咨询行业网站制作上海优化外包
  • 白山建设局网站广告公司名称
  • 织梦网站采集规则青岛网站建设工作室
  • 来钱快app天桥区seo全网宣传
  • 网站建设报价方案.xls网站秒收录
  • 怎么自己免费创建网站永久免费企业建站官网大全
  • 北京做网站电话改变网站的域名空间