Bonjour,
Mon code alloue dynamiquement de la mémoire à des tableaux 2D ou 3D. Je voudrais détruire les tableaux après utilisation, mais je ne sais pas comment faire.

Voici le programme principal (simplifié)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
int main()
{
double *tableau1D, **tableau2D, ***tableau3D;
int dim1 = 10, dim2 = 20, dim3 = 30;
 
Initialize_1D(dim1, &tableau1D);
Initialize_2D(dim1, dim2, &tableau2D);
Initialize_3D(dim1, dim2, dim3, &tableau3D);
 
return(0);
}
Les fonctions d'allocation de mémoire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
void Initialize_1D(int dim1, double **R)
{
*R = new double[dim1];
}
 
void Initialize_2D(int dim1, int dim2, double ***R)
{
*R = new double*[dim1];
for (int i=0; i<dim1; i++)
{
(*R)[i] = new double[dim2];
}
}
 
void Initialize_3D(int dim1, int dim2, int dim3, double ****R)
{
*R = new double**[dim1];
for (int i=0; i<dim1; i++)
{
(*R)[i] = new double*[dim2];
for (j=0; j<dim2; j++)
{
(*R)[i][j] = new double[dim3];
}
}
}
J'ai quelques idées pour le tableau 1D mais je sèche complètement pour les tableaux 2D et 3D.
Auriez-vous quelques suggestions ?