用C ++中的new关键字初始化成员变量

时间:2019-04-02 02:38:16

标签: c++

class Graph {
private:
    int n;
    Head* array;
    Graph(int n)
    {
        this->n = n;
        array = new Head[n];
        for (int i = 0; i < n; i++)
        {
            array[i].head->vertex = i;
        }
    }

};

声明第一个Head *数组时,它将在堆栈中完成。然后再次使用构造函数内部的new关键字将其分配给堆。

我想了解这是否与我们编写的内容相同:Head* array = new Head[n];如果是,那么这是在类中声明成员变量的标准方法吗?还是因为创建对象时首先调用构造函数,所以如果成员变量不在构造函数中就不设置成员变量吗?

0 个答案:

没有答案