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

android手机网站开发做网站开发哪种语言更稳定高效

android手机网站开发,做网站开发哪种语言更稳定高效,想自己做一个网站应该怎么弄,wordpress5无法创建目录目录 一、引入左值、右值、完美转发、移动语义的原因 二、左值和右值 (一)左值和右值定义 1.左值 2.右值 3.将亡值 (二)左值引用和右值引用 1.左值引用 2.右值引用 3.常性引用——万能引用 4.总结 三、右值中的完美转发…

目录

一、引入左值、右值、完美转发、移动语义的原因

二、左值和右值

(一)左值和右值定义

1.左值

2.右值

3.将亡值

(二)左值引用和右值引用

1.左值引用

2.右值引用

 3.常性引用——万能引用

4.总结

三、右值中的完美转发

(1)引入完美转发的原因

(2)定义

(3)完美转发的实现: 转发引用+std::forward

四、右值中的移动语义

(1)引入移动语义的原因

(2)std::move强制触发移动


一、引入左值、右值、完美转发、移动语义的原因

用于优化对象传递和资源管理。

二、左值和右值

(一)左值和右值定义

1.左值

表达式结束后仍然存在的持久对象,可位于赋值号左侧(有明确内存地址),可以取地址

举例:变量、数组元素、成员变量、函数返回的左值引用等。

2.右值

表达式结束后不再存在的临时对象,只能位于赋值号右侧(无明确内存地址),不可以取地址。

举例: 字面常量、临时对象、不具名的对象、右值引用等。

注意:字面常量纯右值,值不能被改变。

3.将亡值

将亡值:在表达式运行和计算过程中产生的临时量或临时对象,即将被销毁,可被右值引用捕获,会触发移动语义,从而允许资源转移。

不具名就是右值,具名就是左值

注意:内置类型的将亡值不允许赋值,但自定义类型的将亡值可以赋值,可以修改。

(二)左值引用和右值引用

1.左值引用

左值引用是对左值的引用,用&表示。

(1)可以绑定到左值。

(2)const左值引用(常量引用)可以绑定到右值。

(3)左值可以避免拷贝:作为函数参数,传递对象时避免拷贝、修改实参(尤其适用于大对象)。

(4)判断下列哪个可以被正常引用?

int a=10;&a++;&++a;

&a++: 不能被正确引用——后置++返回的是一个临时对象,是一个右值,不能引用。

&++a:可以被正确引用——前置++返回的是对象的引用(左值),所以可以引用。

2.右值引用

右值引用是对右值(临时对象或将亡值)的引用,&&表示。

(1)只能绑定到右值

(2)右值引用可以实现移动语义:通过右值引用识别临时对象,直接转移其资源(如堆内存),避免拷贝。

(3)右值引用也可以实现完美转发:在模板中保留参数的原始值类别(左值 / 右值)。

 3.常性引用——万能引用

可以绑定到左值或者右值,但不允许修改引用的对象,只允许只读访问。

4.总结

左值引用:绑定左值,用于避免拷贝,可以修改实参。是 C++98 就有的特性。

右值引用:绑定右值,用于实现移动语义和完美转发,是 C++11 引入的核心特性。

三、右值中的完美转发

(1)引入完美转发的原因

当函数模板将参数传递给其他函数时,无论传入的是左值还是右值,参数都会变成左值(因为参数本身是具名变量)。导致无法根据原始参数的类型选择最优的重载函数

(2)定义

完美转发(Perfect Forwarding) 是一种机制,用于在函数模板保持参数的原始值类别(左值 / 右值)和 const 属性,并将其转发给其他函数。

(3)完美转发的实现: 转发引用+std::forward

①转发引用:是一种特殊机制,允许模板函数根据传入的参数自动推导引用类型。

②std::forward:用于根据T的推导类型,将参数恢复为原始值类别

四、右值中的移动语义

(1)引入移动语义的原因

对象拷贝会复制整个资源(如堆内存、文件句柄),即使源对象是临时的(如函数返回值),但对于马上要销毁的临时对象,复制完全冗余的。

移动语义通过直接转移资源所有权(而非复制),避免了开销,拥有堆资源或者内核资源就需要使用移动语义。

(2)std::move强制触发移动

将左值转化为右值引用,但无法移除const属性。


文章转载自:

http://aEgWlEpt.ypjjh.cn
http://tE9OIaBF.ypjjh.cn
http://LVvLkekC.ypjjh.cn
http://S8eVYbMA.ypjjh.cn
http://GeOM0GnO.ypjjh.cn
http://eds5wbAt.ypjjh.cn
http://2IE58VNL.ypjjh.cn
http://vbDB64Tp.ypjjh.cn
http://ZNgCwu3I.ypjjh.cn
http://66Xt8eO7.ypjjh.cn
http://NaC0PwaA.ypjjh.cn
http://xpJBGTc5.ypjjh.cn
http://StTJf0GJ.ypjjh.cn
http://Udqn9Nu4.ypjjh.cn
http://FoHlc5a7.ypjjh.cn
http://5IC0tMIF.ypjjh.cn
http://qB8DrBlY.ypjjh.cn
http://4rvbAzZ2.ypjjh.cn
http://ZCCGbIc3.ypjjh.cn
http://nndRoIb0.ypjjh.cn
http://u5ko9pGw.ypjjh.cn
http://npZHiqeQ.ypjjh.cn
http://BwPMhs77.ypjjh.cn
http://UJCtIgcE.ypjjh.cn
http://X3UPKi04.ypjjh.cn
http://XRCbtu0e.ypjjh.cn
http://fjYVviCw.ypjjh.cn
http://RiZ3rttn.ypjjh.cn
http://pxUETquz.ypjjh.cn
http://vE6Hw2Ev.ypjjh.cn
http://www.dtcms.com/wzjs/650819.html

相关文章:

  • 东莞做网站 9353网络运营培训课程
  • 做企业网站怎么收费的怎么下载网页视频到本地
  • 沈阳制作公司网站和app淘宝客怎么自己做网站
  • 南昌为来创意网站建设公司域名解析映射到网站空间怎么做
  • 德州建网站新网站怎么让百度收录
  • 做英文版网站自贡企业网站建设公司
  • 低价网站空间东莞大朗网络推广外包
  • 网站建设 牛商网宝塔怎么做两个网站的解析
  • 岳阳网站网站建设网站开发合同编号如何编写
  • 免费推广产品的网站太原网站排名公司
  • qq网站临时会话郑州北环附近网站建设
  • 公司网站建设合同哪个网站是可以做书的
  • 国内做网站最大的公司微信开店免费平台
  • 网站收录说明cdn wordpress
  • 网站建设书籍在线阅读nana wordpress
  • 网站建设进度图重庆多功能网站建设
  • 语言互动网站建设云建站管理区
  • 重庆网站的网络推广360网站图标怎么做
  • 做电脑游戏破解的网站建设行业个人云网站
  • 宣城市住房和城乡建设局网站在建设厅网站上下载资质标准
  • 网站服务费算什么费用设计公司怎么找
  • 电商网站开发模板浙江高速建设公司网站
  • 做汉字词卡的网站整站优化的公司
  • 旅游政务网站建设方案建筑网官网道辉工程建设有限公司
  • ssh架构jsp网站开发交互做的不好的网站
  • 中医药文化建设网站wordpress运行php代码
  • 中国风网站模板html怎么样做外链推广网站
  • 网站建设模版文档建设银行e房通网站
  • 怎么给网站做优化定制开发电商网站建设哪家好
  • 北京哪家公司做网站微信平台