C++中类的组合关系(不是继承),A类中包含有B类,那么我是在A类中放B类的对象好,还是B类的指针好?
3个回答
展开全部
个人建议是 指针。
在小项目中,复制一个对象的成本较低,因为一个对象的所占用的空间较小。可以适当的使用对象。
但是在一个大项目中,使用指针就水到渠成了。原因简单归纳几点:
1. 指针通常占用4个字节,复制指针的时间和空间复杂度就很低了。
2. 通常在大项目中都会初始化一个主类的对象,比如说A a;其它辅助类(如B)使用a的话,只需要将自己类内部的A的指针指向a,就可以在B内部使用a了。而如果是复制了a,在其它地方对a的修改不会影响B内部的a的副本。有时程序执行会出现意想不到的结果。
当然,代价也很明显,指针的使用要注意:
1. 防止野指针的出现
2. 防止不适当的释放指针
3. 复制指针时要注意默认的值复制是否是您想要的结果
等等。所以建议使用指针。希望有帮助!
在小项目中,复制一个对象的成本较低,因为一个对象的所占用的空间较小。可以适当的使用对象。
但是在一个大项目中,使用指针就水到渠成了。原因简单归纳几点:
1. 指针通常占用4个字节,复制指针的时间和空间复杂度就很低了。
2. 通常在大项目中都会初始化一个主类的对象,比如说A a;其它辅助类(如B)使用a的话,只需要将自己类内部的A的指针指向a,就可以在B内部使用a了。而如果是复制了a,在其它地方对a的修改不会影响B内部的a的副本。有时程序执行会出现意想不到的结果。
当然,代价也很明显,指针的使用要注意:
1. 防止野指针的出现
2. 防止不适当的释放指针
3. 复制指针时要注意默认的值复制是否是您想要的结果
等等。所以建议使用指针。希望有帮助!
展开全部
一般都统一用指针,在A类的构造函数里new一个B类对象,然后在析构函数里Delete掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
都可以,主要看你怎么用习惯,建议你用对象,指针容易出错。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询