免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 10782 | 回复: 20
打印 上一主题 下一主题

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

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-24 19:51 |只看该作者 |倒序浏览
如果一个类A要用到另一个类B,有两种方法可以达到这个要求,一个是在A类中使用B的成员对象,另一个是在A类中保留一个指向类B的指针,当对象都不是很大时,到底用哪种方法好?
用指针的话操作更麻烦,只是可以得到初始化完后也可指向新对象的好处,但是我看到很多项目中,如果不是这种情况的话我觉得就不必用指针了吧,但是我看到很多人不在这种情境下也用指针,谁能解释一下指针还有什么好处吗?

论坛徽章:
0
2 [报告]
发表于 2011-11-24 19:54 |只看该作者
我知道如果用类的话,如果使用过多的话,对于 多流水线的 (比如ARM) 效率是会degrade的。。。
与指令的预测有关系。。

论坛徽章:
14
巨蟹座
日期:2013-11-19 14:09:4615-16赛季CBA联赛之青岛
日期:2016-07-05 12:36:0515-16赛季CBA联赛之广东
日期:2016-06-29 11:45:542015亚冠之全北现代
日期:2015-07-22 08:09:472015年辞旧岁徽章
日期:2015-03-03 16:54:15巨蟹座
日期:2014-12-29 08:22:29射手座
日期:2014-12-05 08:20:39狮子座
日期:2014-11-05 12:33:52寅虎
日期:2014-08-13 09:01:31巳蛇
日期:2014-06-16 16:29:52技术图书徽章
日期:2014-04-15 08:44:01天蝎座
日期:2014-03-11 13:06:45
3 [报告]
发表于 2011-11-24 22:26 |只看该作者
如果没有特殊要求的话,少用指针,免得脱裤子放屁

论坛徽章:
0
4 [报告]
发表于 2011-11-24 23:20 |只看该作者
本帖最后由 x5miao 于 2011-11-24 23:22 编辑

我觉得如果用类B作为类A的成员的话,那还不如使类A继承自类B比较好了

论坛徽章:
0
5 [报告]
发表于 2011-11-26 12:01 |只看该作者
回复 2# wangzhen11aaa


    可以用这句话来说明内核不用C++而使用C的原因吗?但是为什么类会造成效率降低呢,是加入了什么其他指令吗,加入的指令又是做什么用的,C++应该也只有一些动态属性比如虚表会把指令带入可执行程序吧,其他的静态属性都是在给编译器看的,过了编译器都去掉了呀。

论坛徽章:
0
6 [报告]
发表于 2011-11-26 12:02 |只看该作者
回复 4# x5miao


    继承,建议少用吧。

论坛徽章:
0
7 [报告]
发表于 2011-11-26 12:03 |只看该作者
回复 3# bruceteen


    跟我的想法差不多

论坛徽章:
0
8 [报告]
发表于 2011-11-26 19:13 |只看该作者
回复 6# lf541513


    用直接而明显的方法你不用,非要绕个圈子。不知道你的建议有什么理由?

论坛徽章:
0
9 [报告]
发表于 2011-11-26 19:55 |只看该作者
回复 8# x5miao


    直接而明显的是用组合,除非两者有明显的继承关系,继承最好用来做接口,如果你写个程序里有继承层次太多,看你代码的人会崩溃死。再说继承跟成员对象一样,无法解决动态改变使用的对象的问题

论坛徽章:
0
10 [报告]
发表于 2011-11-26 20:52 |只看该作者
尽量用
  1. (*A).B
复制代码
少用
  1. A->B
复制代码
因为
  1. ->
复制代码
可以被重载

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP