This topic has been archived. It cannot be replied.
-
工作学习 / 专业技术讨论 / 在使用VECTOR时,我喜欢用指针作变量。大家觉得是VECOT<CLASS>还是VECTOR<CLASS*>合理?
-gx0408(neustone);
2007-1-31
(#3469058@0)
-
我喜欢用vector< class *>, 理由见内主要是考虑OO的继承及多态。
例如有:
class Base{}
class Derived{}
通常情况下,sizeof(Derived)会比sizeof(Base)大。如果你定义vector<class Base> V_base(10),编译系统事先分配空间是以sizeof(Base)计算的。那么你就无法用以存储Derived
这显然不符合OO的理念:凭什么给人游玩的公园中国人不能进??
另外还有一个理由就是效率,你知道Vector的存储空间是连续分配的进行插入,删除的系统开销很大,此时vector中只有一个指针显然比容纳整个对象轻量。效率高。
缺点就是你充vector中删除节点时,别忘了调用delete ×
-xxjjs(东方射日);
2007-1-31
{501}
(#3469102@0)
-
Because of "sizeof(Derived)会比sizeof(Base)大"??!! You do have some funny understandings of C++, don't you?? :-).You are such a funny guy. :-)...
-holx(Dicom);
2007-2-9
{32}
(#3488554@0)