何时使用new作为对象以及何时使用指针?

时间:2014-11-15 09:41:54

标签: c++ pointers

例如,我有一个以这种方式声明的向量:

    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'以及何时使用指针。

1 个答案:

答案 0 :(得分:3)

您可以简单地使用std::vector<Shapes> my_vector,而无需指针。 vector对象将在堆栈​​上分配,其内容在堆上。您将拥有将Shape对象连续放置在内存中的优势。