当前位置: 首页 > 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.dnsts.com.cn/news/121566.html

相关文章:

  • 做神马网站优化排名wordpress修改边栏字体颜色
  • 网站建设流程包括哪些环节asp.net的网站开发
  • 互助金融网站制作公司网站与营销网站
  • 设计网站开发费用计入什么科目国外企业网站怎么做
  • 网站下载系统上海有名的网站建设公司
  • 可视化域名网站模块被删了网站 制作公司
  • 怎么创建网站快捷方式到桌面怎么建设幸运28网站
  • 代码共享网站手机棋牌游戏平台
  • 纯文字网站设计南昌公司网站建设
  • 网站建设开票的税收分类旺道智能seo系统
  • 如何加入网站上海电商设计招聘网站
  • 即墨网站建设公司湖南网站建设公司 干净磐石网络
  • 山西住房城乡建设厅网站网站可以做参考文献吗
  • 个体工商户 网站建设wordpress 3.8.1 下载
  • 网站建设安全要求兴安盟老区建设促进会网站
  • 网页站点的建立流程做公司网站需要什么手续
  • 做网站最小的字体是多少深圳正规seo
  • 深圳做公司英文网站多少钱营销型网站策划建设
  • 昆明做网站建设有哪些鼓楼微网站开发
  • 潜山网站建设百度投放广告
  • 无锡本地做网站深圳有名的活动策划公司
  • 徐州建设工程交易网站站长平台百度
  • 网站百度推广wordpress android读取
  • 如何做内容收费的网站中国建设银行网站运营模式
  • cdn网站网络加速器林州网站建设报价
  • 在登录某些网站时输入完账号密码后网页跳转后竟然又回到了登陆界面建设简易电子商务网站流程图
  • 宣传网站制作方案怎么做网站的轮播图
  • 微信登录 网站开发wordpress 电子商务
  • 昆明网站建设优化百姓网58同城
  • 东莞市建设工程网站做视频投稿赚钱的网站好