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

去哪里学习建设网站做深度游网站 知乎

去哪里学习建设网站,做深度游网站 知乎,网站首页轮播图怎么做,做网赌网站需要多少钱C11右值引用 字面意思#xff0c;以引用传递的方式使用c右值左值和右值#xff0c;左值是lvalue loactor value 存储在内存中#xff0c;有明确存储地址的数据#xff0c; 右值rvalue read value , 指的是那些可以提供数据值的数据#xff08;不一定可以寻址#xff0c;…C11右值引用 字面意思以引用传递的方式使用c右值左值和右值左值是lvalue loactor value 存储在内存中有明确存储地址的数据 右值rvalue read value , 指的是那些可以提供数据值的数据不一定可以寻址 例如存储于寄存器中的数据怎么去判读 可位于赋值号 左侧的表达式就是左值位于赋值号右侧的就是右值 如 int b 10; 5 a; //error有名称的可以获取到存储地址的表达式即为左值反之是右值,左值也可以是右值 C11 新特性移动构造函数和std::move void testMoveFunction (){string str1 ok;string str2 str1;cout str1 :str1 endl;cout str2 :str2 endl;string str3 ok;string str4 move(str3);cout str3 :str3 endl;cout str4 :str4 endl;/*str1 :okstr2 :okstr3 :str4 :ok*/ } 移动构造函数将str3强制转化为右值将内存中的值放到寄存器没然后再将寄存器的值放到内存str4的位置。 class TestCopyConstruct { public:TestCopyConstruct():num(new int(0)){coutdefalut TestCopyConstruct constructor ! endl;}TestCopyConstruct(const TestCopyConstruct d):num(new int(*d.num)){coutcopy TestCopyConstruct constructor ! endl;}//模拟的移动构造方法TestCopyConstruct(TestCopyConstruct d):num(d.num) {d.num NULL;coutmove TestCopyConstruct constructor ! endl;}~TestCopyConstruct(){coutdestruct TestCopyConstruct ! endl;} private:int *num; };TestCopyConstruct testTestCopyConstruct() {TestCopyConstruct a TestCopyConstruct();//TestCopyConstruct b std::move(a); 注意这里不会掉用移动拷贝构造函数TestCopyConstruct b(std::move(a));return b;}自己理解 把一个值的托管权交给了另一个主人所以你一定要注意在构造移动构造函数时旧主人的值要清理一个比较喜欢的答案 std::move没干任何事就只是把变量的名字藏起来了。 然后这个对象就变成了匿名对象你就可以调用接收右值的重载函数了。具体这个函数要干什么……你想干什么就干什么.突然觉得也需要理解一下引用 https://blog.csdn.net/ifwecande/article/details/108684300 有一个地方可以关注一下引用第一次赋值之后就不能修改了 int a 9; int b a实际上在b引用a之后后面所看到的b都是*a所以无法赋值。 好吧好吧和这次的内容关系不大 6.当右值去初始化一个对象的时候那么会优先调用移动构造函数那么如果想用左值初始化就需要move()方法了 注意有一个问题Cmove操作过后对象本身到底是否为空这里清空不清空并不是std::move()决定的。其实是在你把它当作右值进行赋值时类的移动构造函数决定的比如前面的 TestCopyConstruct(TestCopyConstruct d):num(d.num) {d.num NULL;coutmove TestCopyConstruct constructor ! endl;}你会在拷贝完右值之后把他的指针 d.num NULL; 比如下面的代码 int a2 999;int b std::move(a2);int c a2;c 777;//a2还为999string a3 3333;string b3 std::move(a3);string c4 a3;//a3为了取决于string的移动拷贝构造*/前面写的很乱想总结一下 移动构造其实只是自己实现的一种拷贝构造方式其内部实现其实是交给创建类的 “作者”std::move更像是一种指引告诉你需要调用移动构造函数并且心理上暗示“这个值不能用了”而作为作者防止旧的值还会用那么你需要在移动构造中给旧值恢复默认值
http://www.hkea.cn/news/14526373/

相关文章:

  • 番禺建设网站平台做美食网站的需求分析
  • 国外做机器人的网站推荐企业手机网站建设
  • 做网站需要的语言电影网站的建设
  • 网站建设企业模板个人网页首页内容
  • 临沂网站建设厂家婚恋网站翻译可以做吗
  • 网站代码查询云南疾控最新消息今天
  • 曹县 做网站的公司搭建 wordpress 简书
  • 青浦区网站建设费用襄阳购物网站开发设计
  • 低价网站建设顺德学风建设专题网站
  • 做淘宝还有必要做网站吗小程序公司排名前十
  • 想注册一个设计网站吗wordpress微信分享才能查看
  • 展馆网站建设方案常州网站建设公司平台
  • 网站制作合同书古镇网站建设熊掌号
  • 奥鹏网页设计与网站建设wordpress 3.9.1 中文
  • 为了加强公司网站建设迪庆网站建设
  • 网站后缀cc清远网站制作
  • pc端网站怎么做自适应个人优秀网站
  • 永兴县网站建设服务商网站的基本要素
  • 网站定制排名企业信息管理系统案例
  • 如何将网站搭在阿里云网站设计注册怎么做
  • 申请域名后 怎么把网站部署上去建设贷款网站哪家好
  • 长沙网站服务器南宁网站建设nayuwang
  • 响应式旅行社展业网站开发调研报告wordpress自定义编辑器
  • 东莞建站模板代理电子商务网站建设中应注意哪些问题
  • 静态网站怎么做百度推广网页设计教程这本书讲什么
  • 北京网站手机站建设公司电话wordpress更改文章宽度
  • 我的世界有什么做的视频网站网站建设中啥意思
  • 上海模板建站多少钱自建网站工具
  • 网站备案密码找回中建三局招聘出国务工
  • 石家庄市栾城区建设局网站app网站的电话是什么