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

做网站是用的那个开发软件网站虚拟主机1g

做网站是用的那个开发软件,网站虚拟主机1g,网站链接提交,wordpress给导航添加图片目录 一、左右值的概念及右值的种类 二、左值引用与右值引用 左值引用给右值取别名#xff1a; 右值引用给左值取别名#xff1a; 三、引用的意义及左值引用的场景 四、移动构造#xff1a; 右值引用在底层里的实现#xff1a; 一、左右值的概念及右值的种类 在 C …目录 一、左右值的概念及右值的种类 二、左值引用与右值引用 左值引用给右值取别名 右值引用给左值取别名 三、引用的意义及左值引用的场景 四、移动构造 右值引用在底层里的实现 一、左右值的概念及右值的种类 在 C 中左右值的区分对于理解语言的行为至关重要。一般来说可以取地址的是左值不可以取地址的是右值。同时被 const 修饰的通常也被视为左值。 右值主要包括以下几种类型 常量例如 10它们在程序运行期间具有固定的值且通常存储在只读内存区域。临时对象如 string(1111)这些对象是在表达式中临时创建的通常在包含它们的完整表达式结束后就可能被销毁。匿名对象例如 string(666)没有名字的对象同样也是临时创建的生命周期较短。 //右值10;//常量string(1111);//临时对象string(666);//匿名对象 二、左值引用与右值引用 左值引用给右值取别名 不能直接用左值引用给右值取别名但是使用 const 左值引用是可以的。这是因为 const 左值引用可以绑定到临时对象确保在引用期间不会修改这个临时对象。例如 const int a 10;这里 a 是一个常量引用绑定到了右值 10。 右值引用给左值取别名 不能直接用右值引用给左值取别名但是可以通过 std::move 将左值转换为右值后再用右值引用进行引用。例如 int c 100; int b move(c); 和 int d (int)c;。std::move 的作用是将左值转换为右值本质上类似于强制类型转换。在底层实现中无论是左值引用还是右值引用实际上都是指针的形式这也说明了在底层并没有真正的 “引用” 概念而 move 更多的是在语法层面上进行类型转换。 int c 100; const int a 10; int b move(c); int d (int)c;move:将左值转化为右值本质等同于强转所以上面的b与d没区别 move的讲解move - C Reference (cplusplus.com) 三、引用的意义及左值引用的场景 引用在 C 中有重要的意义主要是减少拷贝操作提高程序的性能。 左值引用主要解决的场景包括引用传参和引用传返回值。通过引用传参可以避免不必要的对象拷贝特别是对于大型对象这种方式可以显著提高程序的效率。在函数返回值时如果返回左值引用可以避免返回对象时的拷贝构造直接返回对象的引用提高程序性能。 然而左值引用在某些情况下并没有彻底解决问题。例如当传值返回的时候如果返回的是左值那么只能通过拷贝构造来解决问题。但是当遇到大数据结构如 std::list 等的深拷贝时会非常浪费时间这时候右值引用的价值就体现出来了。 四、移动构造 对于自定义类可以定义移动构造函数来处理右值。例如对于 std::string 类移动构造函数的形式可能是 string(string s)在这个函数中通过 swap(s) 操作将即将消亡的右值对象的数据交换过来避免了不必要的拷贝操作。这样做的好处是获取要消亡的数据把自身不需要的数据给右值对象 s让它去销毁而自身获取有用的数据不再需要进行拷贝。 string(string s) {swap(s); } 只有进行深拷贝的类才有移动构造的意义因为只有在深拷贝的情况下避免拷贝操作才能带来显著的性能提升。 右值返回种类 存右值内置类型右值 将亡值类类型的右值 移动构造swap(s)将要消亡的交换获取要消亡的数据把‘我’不要的数据给s让他去销毁而我获取有用的数据不需要拷贝了吗 拷贝构造传值返回时编译器将要先把返回的数据先生成临时对象在拷贝给所需的对象优化成了直接把返回的数据拷贝给所需对象将俩次拷贝优化成了一次 深拷贝的类才有移动构造的意义 在string s1 (s2)编译器开的优化大构造加拷贝/移动构造 直接构造。相当于直接引用的main函数的对象—vs2022.不是所以编译器都这样  构造可以这么激进的优化但是赋值不可以 移动赋值string s1 (s2) 右值引用在底层里的实现 R1右值引用的属性本身是---》左值  因为swap什么的需要修改    左值和右值可以来回切本质只是语法层的限制
http://www.hkea.cn/news/14373735/

相关文章:

  • 怎样用电脑做网站服务器部门网站建设怎么做
  • 西安网站建设专家岳阳网站建设哪家好
  • 医院做网站的风格vps推荐
  • 淄博网站制作多样定制徐州模板厂
  • 网站后台怎么换图片重庆装修公司前十强
  • 成都网站开发 Vr网络搭建的基本流程
  • 个人互动网站广州响应式网站咨询
  • 如何自己开发一个网站网络广告推广服务
  • 山东建设官方网站网络工程师自学教程
  • 企业网站广告图片轮播代码中国设计之窗官方网站
  • 资溪做面包招聘的网站代运营公司哪个地方好
  • 网站线上投票怎样做企业服务官网模板
  • 制作html5网站找工作哪个网站好智联招聘
  • 温州网站快速排名怎么制作网站外链
  • 网站制作学什么成都智 小程序开发
  • 网站建设维护问题怎么使用微信公众号
  • 如何做网站备案软件开发商网站
  • 泉州百度网站快速优化网站域名去哪买
  • 手机网站样例在线制作图片生成器小程序
  • 接做网站的私活怎么报价南京网站设计是什么
  • 祝贺公司网站上线做电影网站需要用什么空间
  • 网站做微信登录二次开发平台
  • 建设门户网站发展前景2018网站推广途径有哪些
  • 京东网站建设目标网站设计服务表
  • 虚拟主机WordPress建站东营做网站优化
  • 网站建设及模板使用教程优秀网站的链接
  • 网站在工信部备案查询免费外链网盘
  • 电子商城网站开发教程如何对自己建设的网站进行推广
  • 网站建设合同的要素网站搭建app
  • 个人电脑做外网网站石家庄栾城区建设局网站