2010-02-15 25 views
5

Ich habe die folgende KlasseWie man ein Array von Zeigern in C++ dynamisch zuordnet?

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; 
} 

Sie mir bitte sagen, wie ich dynamisch ein Array von Zeigern im Konstruktor zuordnen kann - die Größe dieses Feldes würde maxsize sein.

Antwort

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

Aber wie üblich, sind Sie wahrscheinlich besser dran mit einem Zeiger std :: Vektor.

2

Das wird Nptr = new Node*[maxsize]; sein Denken Sie auch daran, delete[] in destructor zu verwenden.

2

Angenommen, Sie Matrix aus 3 Reihen erstellen möchten und 4 cols dann,

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 
} 
Verwandte Themen