2010-02-15 8 views
5

que tienen la siguiente clase¿Cómo asignar dinámicamente una matriz de punteros 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; 
} 

por favor dígame cómo puedo asignar dinámicamente una matriz de punteros en el constructor - el tamaño de esta matriz sería maxsize.

Respuesta

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

Pero, como de costumbre, es probable que sea mejor utilizar un std :: vector de punteros.

2

Eso será Nptr = new Node*[maxsize]; Además, recuerde usar delete[] en destructor.

2

Supongamos que desea crear la matriz de 3 filas y 4 cols luego,

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 
} 
Cuestiones relacionadas