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

给公司做网站多钱深圳设计平台

给公司做网站多钱,深圳设计平台,旅游网站建设参考文献,上海手机网站建设报价表拷贝构造函数的引入 用对象来初始化对象 (1)简单变量定义时#xff0c;可以直接初始化#xff0c;也可以用另一个同类型变量来初始化。举例说明 (2)用class来定义对象时#xff0c;可以直接初始化#xff0c;也可以用另一个对象来初始化。举例说明 testperson xiaohong(na…拷贝构造函数的引入 用对象来初始化对象 (1)简单变量定义时可以直接初始化也可以用另一个同类型变量来初始化。举例说明 (2)用class来定义对象时可以直接初始化也可以用另一个对象来初始化。举例说明 testperson xiaohong(nameq, 23, true); //局部变量 分配在栈上xiaohong.printfmy();testperson p1(xiaohong); //方式2:用另一个对象来初始化新定义的对象p1.printfmy();testperson p2 p1;p2.printfmy();为什么可以 (1)变量的直接初始化是变量在被分配内存之后直接用初始化值去填充赋值完成初始化 (2)变量用另一个变量来初始化是给变量分配了内存后执行了一个内存复制操作来完成的初始化 (3)对象的直接初始化是对象在分配内存之后调用了相应constructor来完成的初始化 (4)对象的用另一个对象来初始化是对象在分配之后调用了相应的copy constructor来完成初始化 拷贝构造函数 (1)拷贝构造函数是构造函数的一种符合构造函数的一般性规则 (2)拷贝构造函数的引入是为了让对象在初始化时能够像简单变量一样的被直接用来赋值 (3)拷贝构造函数不需要重载他的参数列表固定为const classname xx (4)拷贝构造函数很合适用初始化列表来实现 //拷贝构造函数 MAN::testperson::testperson(const testperson pn) {cout copy constructor endl; } //拷贝构造函数 MAN::testperson::testperson(const testperson pn) {this-name pn.name;this-age pn.age;this-male pn.male;cout copy constructor endl; }MAN::testperson::testperson(const testperson pn):name(pn.name),age(pn.age),male(pn.male){cout copy constructor endl; }string nameq lili;testperson xiaohong(nameq, 23, true); //局部变量 分配在栈上xiaohong.printfmy();testperson p1(xiaohong); //方式2:用另一个对象来初始化新定义的对象p1.printfmy();testperson p2 p1; //方式2 本质一样p2.printfmy();浅拷贝与深拷贝 浅拷贝的缺陷 (1)上节讲的只有普通成员变量初始化的拷贝构造函数就是浅拷贝 (2)如果不显式提供C会自动提供一个全部普通成员被浅拷贝的默认copy constructor (3)浅拷贝在遇到有动态内存分配时就会出问题举例演示 如何解决 (1)不要用默认copy constructor自己显式提供一个copy constructor并且在其内部再次分配动态内存 (2)这就叫深拷贝深的意思就是不止给指针变量本身分配内存一份也给指针指向的空间再分配内存如果有需要还要复制内存内的值一份 (3)一般如果不需要深拷贝根本就不用显式提供copy constructor所以提供了的基本都是需要深拷贝的 (4)拷贝构造函数不需要额外的析构函数来对应用的还是原来的析构函数 MAN::testperson::testperson(const testperson pn): name(pn.name), age(pn.age), male(pn.male) {pint new int(*pn.pint);//深拷贝cout copy constructor endl; }string nameq lili;testperson xiaohong(nameq, 23, true); //局部变量 分配在栈上testperson p1(xiaohong); //方式2:用另一个对象来初始化新定义的对象*(xiaohong.pint) 56;xiaohong.printfmy();p1.printfmy();testperson p2 p1; //方式2 本质一样p2.printfmy();如何深度理解浅拷贝和深拷贝 (1)这个问题不是C特有的Java等语言也会遇到只是语言给封起来了而C需要类作者自己精心处理 (2)从编程语言学角度讲本质上是值语义value symatics和引用语义reference symatics的差别 (3)C学好了有linux内核阅读级别的C功底理解这些简直太简单了 总结 理解普通变量赋值和对象赋值的区别 理解什么是浅拷贝、深拷贝怎么实现深拷贝 学习记录侵权联系删除。 来源朱老师物联网大课堂
http://www.hkea.cn/news/14421978/

相关文章:

  • 网站设计便宜诸城营销型网站建设
  • 现在市面网站做推广好利用新冠消灭老年人
  • 网站建设明细报价表 服务器宁波网易企业邮箱
  • 怎么找淘宝客网站旅游手机网站模板
  • 制作公司网站 黑龙江网络规划设计师待遇怎么样
  • 安徽和城乡建设厅网站网站定制那个好
  • 唐卡装饰集团 一站式超级体验店企业做什么需要有网站
  • 网站开发郑州免费html网页源代码
  • 网站设计与实现毕业设计做网站过程
  • 六安人社局网站教学系统设计 网站开发
  • 遵义网站建设培训莆田免费建站模板
  • 黔南州建设局门户网站wordpress需要做哪些设置
  • 站内seo的技巧wordpress漂流瓶插件
  • 单页的网站怎么做前程无忧网最新招聘信息
  • 最棒的网站建设投资公司名字起名大全
  • wordpress免费建站教程学做网站论坛全部视频
  • 网站流量统计系统深圳10大品牌策划公司
  • 建立一个网站的技术解决方案小公司网站用什么服务器划算
  • 百度站长平台官网死链提交色弱做网站
  • 专业网站建设软件开发网络服务器和个人计算机的区别
  • 网站模板库免费马云将来淘汰的十个行业网站建设
  • 泉州企业网站开发空间设计培训
  • 临沂手机网站开发制作公司jarvis wordpress
  • 网站建站公司一站式服务十大装修公司排行榜
  • 网站推广排名最新报价开发公司项目管理制度
  • 国家对网站建设补补贴北京网站建设 标准型 新翼
  • 阿里巴巴免费建网站cms管理手机网站模板下载
  • 移动建站平台有哪些wordpress找回密码邮件
  • 全网网站建设北京优化公司司
  • 江西网站制作的公司哪家好家在深圳光明业主论坛