如何在C ++中动态分配指针数组?

时间:2010-02-15 11:49:10

标签: c++

我有以下课程

class Node
{
    int key;
    Node**Nptr;
public:
    Node(int maxsize,int k);
};
Node::Node(int maxsize,int k)
{
   //here i want to dynamically allocate the array of pointers of maxsize
   key=k;
}

请告诉我如何在构造函数中动态分配指针数组 - 此数组的大小为maxsize。

3 个答案:

答案 0 :(得分:10)

Node::Node(int maxsize,int k)
{
   NPtr = new Node*[maxsize];
}

但像往常一样,你最好使用std ::指针向量。

答案 1 :(得分:3)

假设您要创建3行和4列的矩阵,

int **arr = new int * [3];  //first allocate array of row pointers

for(int i=0 ; i<rows ; ++i)
{
   arr[i] = new int[4]; // allocate memory for columns in each row
}

答案 2 :(得分:2)

那将是Nptr = new Node*[maxsize];另外,请记住在析构函数中使用delete[]