2010-02-15 14 views
5

Ho la seguente classeCome allocare dinamicamente un array di puntatori in 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; 
} 

prego di dirmi come posso allocare dinamicamente un array di puntatori nel costruttore - la dimensione di questo array sarebbe maxsize.

risposta

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

Ma come al solito, è meglio usare un puntatore std :: vector.

2

Questo sarà Nptr = new Node*[maxsize]; Inoltre, ricordarsi di utilizzare delete[] in distruttore.

2

si supponga di voler creare matrici di 3 righe e 4 cols poi,

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 
} 
Problemi correlati