例如,我有一个以这种方式声明的向量:
vector<Shapes> *ShapeVector;
如果我想拥有一个形状对象,并且能够访问不同大小的不同形状,是否需要声明“新”或不需要?那么指针呢呢?
对我而言,指针指向要访问的不同地址。那么,我也需要指针吗?
到目前为止,我做了以下代码来创建我的对象,并在其中存储数组。之后,我打算将对象存储到矢量本身。
int tempx[100],tempy[100];
for (int i = 0; i < 4;i ++)
{
cout << "Enter x-coordinate of pt " << i << ":" << endl;
cin >> tempx[i];
cout << "Enter y-coordinate of pt " << i << ":" << endl;
cin >> tempy[i];
Square mysquare = new Square(tempx,tempy);
不确定它是否正确,不确定何时使用'new'以及何时使用指针。
答案 0 :(得分:3)
您可以简单地使用std::vector<Shapes> my_vector
,而无需指针。 vector对象将在堆栈上分配,其内容在堆上。您将拥有将Shape对象连续放置在内存中的优势。