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

正能量网站地址污的wordpress如何修改背景图片

正能量网站地址污的,wordpress如何修改背景图片,淘宝网站品牌设计,wordpress网站响应慢文章目录 前言一、右值引用是什么#xff1f;那么#xff0c;什么又是右值#xff1f;右值引用 二、使用步骤和意义1.1.11.2 2.右值引用的最大意义2.1 完美转发2.2 万能折叠 前言 C11 是2011年对C这门语言发布的新标准#xff0c;并且此次标准引入了十分多的新特性#x… 文章目录 前言一、右值引用是什么那么什么又是右值右值引用 二、使用步骤和意义1.1.11.2 2.右值引用的最大意义2.1 完美转发2.2 万能折叠 前言 C11 是2011年对C这门语言发布的新标准并且此次标准引入了十分多的新特性很大程度上优化且增加了C语言的实用性本章主要讲 C11 新引用的右值引用。 一、右值引用是什么 在从C语言进入到C时我们就已经开始接触到引用 int i 0; int ir i; 引用在我们以往的理解就是给一个变量取别名实际上我们也确实可以这么理解。 那么什么又是右值 这里就需要区分左值和右值的概念这里就需要注意许多刚接触到C的初学者可能只是片面的认为 在“左边的就是左值 在”右边的就是右值而这种区分方式是严重错误的。 int i 0; const int i1 2; 那我们可以理解为具有常性不可更改的就是右值可更改的就是左值吗 也不行 其实区分左值还是右值很简单就看它是否可以被取地址可以被取地址的就是左值不可以被取地址的就是右值。 int i 0; 左值 const char c; 左值 double* d; 左值 string str; 左值 int ii i; 左值 以上都可以被取地址所以都是左值 1; 右值 sizeof(int); sizeof(int)的返回值为右值 (xy); 运算符的本质其实也是调用函数所以也是右值 int(1); 匿名对象也是右值 以上就是常见的右值 右值引用 左值引用 是 int ii i; 而C新增加的右值引用是专门对于右值进行引用使用 int a 1, b 2; int i 10; int i1 ab; int i2 sizeof(a); 二、使用步骤和意义 1. 右值引用和左值引用其实都用共同的目的那就是为了减少拷贝在我们曾经模拟实现的string和vector中我们为了减少拷贝总是会去使用左值引用。 string代码如下示例 void Swap(string str) {::swap(_str, str._str);::swap(_size, str._size);::swap(_capacity, str._capacity); } string(const string str) //拷贝构造:_str(nullptr), _capacity(0),_size(0) {string tmp(str._str);Swap(tmp); }1.1 那么是不是左值引用就只能引用左值 string(const string str) //拷贝构造:_str(nullptr), _capacity(0),_size(0) {string tmp(str._str);Swap(tmp); }string str string(hello world);这里我们采用匿名对象来构造一个string刚刚我们也说了匿名对象也是右值但是仍然可以走上面的拷贝构造因为我们使用了const string str加了const这就使得我们的左值引用也可以引用右值。 而我们的右值引用是不可以引用左值的大家可以自行尝试编译器是会报错的。 1.2 综上述既然我们的const 左值引用也可以去引用右值那么右值引用的意义是不是就不大了 2.右值引用的最大意义 我们先来看刚刚的示例代码 代码如下示例 string(const string str) //拷贝构造:_str(nullptr), _capacity(0),_size(0) {string tmp(str._str); //这里发生了拷贝Swap(tmp); }即使我们采用左值引用这里仍然会发生一次拷贝而在某些容器例如vector下拷贝的代价可能会十分巨大而面对一些将亡值拷贝的意义并不大因为有更好的方式 这个时候右值引用就凸显出了它的作用 string(string str):_str(nullptr), _capacity(0), _size(0){Swap(str);}因为在这种情况下这里的str一定是一个右值中的将亡值它的生命周期仅仅只是为了构造新的string所以我们完全可以将其数据用过Swap掠夺过来再让他自行析构这就减少了一次拷贝提高了程序的运行效率 2.1 完美转发 关于右值引用还需要注意的是一旦使用了右值引用那么就会改变其原有属性 int a 1, b 2; int i 10; int i1 ab; int i2 sizeof(a); 就例如该上 这里的i,i1,i2都会因为右值引用改变右值属性变为左值属性并且你可以对它们的内存数据进行修改这是因为这些右值数据被移动到了一个其他区域储存起来。 而C11为了保持其原有的属性提供了完美转发。 std::forward(x); void Fun(int x) { cout 左值引用 endl; } void Fun(const int x) { cout const 左值引用 endl; } void Fun(int x) { cout 右值引用 endl; } void Fun(const int x) { cout const 右值引用 endl; } // std::forwardT(t)在传参的过程中保持了t的原生类型属性。 templatetypename T //万能折叠 void PerfectForward(T t) {Fun(std::forwardT(t));//完美转发 }2.2 万能折叠 templatetypename T //万能折叠 void PerfectForward(T t) {Fun(std::forwardT(t)); }通过这样的模版格式来使得t做一个自动折叠的功能如果传的是一个左值那么就是用左值引用如果是一个右值就是右值引用。
http://www.hkea.cn/news/14492463/

相关文章:

  • 网站制作1金华做网站最专业的公司
  • 做奥数题网站东莞公司建设网站
  • 做网站怎样做才有百度快照企业vi品牌设计公司
  • 文山网站建设交互界面设计
  • 为什么网站收录下降网站建设 软件有哪些
  • 昆明网站建设方案报价网站开发技术考题
  • 做网站编辑需要看什么书手机网站建设公司
  • frontpage怎么做网站有没有便宜的注册代理
  • 畔游网站建设seo搜索优化公司
  • 四站合一网站建设价格给网站做图
  • 成都网站建设 小兵网页版梦幻西游水晶宫攻略
  • 免费注册个人网站官网wordpress恢复设置
  • 揭阳网站制作方案定制做菠菜网站判多久
  • 最专业网站建设开发山东济南seo优化
  • 给公司做一个网站吗做情趣网站需要什么资质
  • 网站建设对于企业发展的优势网站推广在哪好
  • 郑州网站建设公司e00遵义网红
  • 北苑网站建设公司上海工商网上企业查名
  • 网站后台源代码更改上海网站建设-新闻动态
  • 代理公司注册需要多少钱跨境电商seo是什么意思
  • 硅胶鞋垫移动网站建设工业设计就业方向及就业前景
  • 富阳住房和城乡建设部网站住房和城乡建设部网站 上海
  • 加强残联网站建设wordpress分类导航主题
  • 网贷网站建设龙岩网上办事大厅官网
  • 有哪些做买家秀的网站电商网站免费设计
  • 网上花店网站建设九游手游平台app
  • 帮熟人做网站如何收费wordpress修改个人头像
  • 小型网站建设源码网站织梦模板
  • 专门做毕设的网站全国免费发布信息平台
  • 兴平市住房和城乡建设局门户网站专业的网站设计网络