免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lf541513
打印 上一主题 下一主题

大家项目中一般使用类成员对象还是类成员对象的指针 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-11-26 21:45 |只看该作者
本帖最后由 x5miao 于 2011-11-26 21:48 编辑

回复 9# lf541513


    你以为对象里面包含对象就不会让人崩溃了?包含的深度太深了一个样。

代码是否会让人崩溃,这取决于框架的设计,层次的划分是否合理以及文档的规范简明。

论坛徽章:
0
12 [报告]
发表于 2011-11-27 18:09 |只看该作者
本帖最后由 lf541513 于 2011-11-27 18:11 编辑

回复 11# x5miao


    如果别人类再使用你的类呢,你的类A和类B的方法都可以用,使用的时候你就不得不去看继承关系或者查你的说明文档了,这样你必须加班写文档,别人必须加班看你的文档,而使用成员对象,使用者根本用不了基类的方法,也使用不了成员对象的方法,他不需要去关心繁琐的细节问题,这种+1的层次是你自己引入的不是设计框架的人引入的。

论坛徽章:
0
13 [报告]
发表于 2011-11-27 18:52 |只看该作者
回复 10# fallening


    很好的理由之一

论坛徽章:
0
14 [报告]
发表于 2011-11-27 19:56 |只看该作者
回复 12# lf541513


    写程序不看文档,你还想写好程序?不知道你看那本书学的

论坛徽章:
0
15 [报告]
发表于 2011-11-27 21:58 |只看该作者
本帖最后由 lf541513 于 2011-11-27 22:04 编辑

回复 14# x5miao


   无语,加班去吧。

论坛徽章:
0
16 [报告]
发表于 2011-11-27 22:09 |只看该作者
尽量用少用因为可以被重载
fallening 发表于 2011-11-26 20:52



    *a也能被重载.


* & -> , 这4个操作符都能被重载的...

论坛徽章:
0
17 [报告]
发表于 2011-11-28 04:03 |只看该作者
本帖最后由 x5miao 于 2011-11-28 05:30 编辑

回复 15# lf541513


    如果一个问题竟然无法用自然语言来描述清楚而非要依赖某种机器语言来表达,那只能说明这个人本身对这个问题了解的就不清楚。

论坛徽章:
0
18 [报告]
发表于 2011-11-28 10:02 |只看该作者
我觉得取决于对象的生命周期,也就是这2者是聚合还是包含的关系。
另外,继承比聚合和包含有更高的耦合, 编译的时候也需要更多是时间

论坛徽章:
0
19 [报告]
发表于 2011-11-28 12:24 |只看该作者
回复 16# gtkmm


    C++primer里操作符重载那一章里有提到 点号(.)不能被重载的

论坛徽章:
0
20 [报告]
发表于 2011-11-29 09:10 |只看该作者
尽量用少用因为可以被重载
fallening 发表于 2011-11-26 20:52


晕,这也成为理由,实际并没有这么纠结,哪样简单就用哪样。如果可以是对象,为何硬要采用对象指针?这不是将简单问题复杂化吗?结果非但没有带来好处,反而可能引入风险,比如忘记删除对象等,当然也会造成更多的内存开销和碎片,如果是对象,一个大对象的内存都是连续的,看起来都舒服些,在某些时候对定位问题也更有帮助。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP