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é)
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 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); }
J'ai quelques idées pour le tableau 1D mais je sèche complètement pour les tableaux 2D et 3D.
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]; } } }
Auriez-vous quelques suggestions ?
Partager