只是想知道你认为什么是C中的向量的最佳做法.
如果我有一个包含一个向量成员变量的类.
这个向量应该何时被声明为:
>“Whole-object”矢量成员varaiable包含值,即向量< MyClass> my_vector;
>指向向量的指针,即向量< MyClass> * my_vector;
>指针向量,即向量< MyClass *> my_vector;
>指向向量向量的指针,即向量< MyClass *> * my_vector;
我在我的一个类中有一个具体的例子,其中我当前已经宣告了一个向量作为情况4,即向量< AnotherClass *> * my_vector;
其中AnotherClass是我创建的另一个类.
然后,在我的构造函数的初始化列表中,我使用new创建向量:
MyClass::MyClass()
: my_vector(new vector())
{}
在我的析构函数中,我做如下:
MyClass::~MyClass()
{
for (int i=my_vector->size(); i>0; i--)
{
delete my_vector->at(i-1);
}
delete my_vector;
}
向量的元素被添加到我的类的一个方法中.
我不知道有多少对象将被提前添加到我的向量中.这是在代码执行时基于解析xml文件来决定的.
这是好的做法吗或者应该将向量声明为其他情况1,2或3?
何时使用哪种情况?
我知道一个向量的元素应该是指针,如果它们是另一个类(多态)的子类.但是在任何其他情况下都应该使用指针?
非常感谢你!!