2010-02-15 4 views
5

J'ai la classe suivanteComment allouer dynamiquement un tableau de pointeurs en 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; 
} 

S'il vous plaît me dire comment je peux allouer dynamiquement un tableau de pointeurs dans le constructeur - la taille de ce tableau serait maxsize.

Répondre

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

Mais comme d'habitude, il vaut probablement mieux utiliser un vecteur std :: de pointeurs.

2

Ce sera Nptr = new Node*[maxsize]; En outre, n'oubliez pas d'utiliser delete[] dans le destructeur.

2

Supposons que vous voulez créer la matrice de 3 lignes et 4 puis Col.,

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 
} 
Questions connexes