何时对对象使用 new,何时使用指针

When to use new for an object and when to use pointers?

本文关键字:何时使 指针 new 何时 对象      更新时间:2023-10-16

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

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

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