Je ne comprends pas bien vos reponses !! ... C'est quoi le RAII ?
En fait j'ai deja un code assez compliqué et gros (environ 5000 lignes) basé sur ce système de pointeurs de pointeurs... Ca marche très bien et je n'aurais pas le courage de changer de principe pour allouer les tableaux...
Voila ce que j'ai écrit pour désallouer un tableau 2D
1 2 3 4 5 6 7 8
| void Freememory_2D(int dim1, double ***R)
{
for (int i=0; i<dim1; i++)
{
delete[] (*R)[row];
}
delete[] (*R);
} |
J'appelle la fonction avec
Freememory_2D(dim1, &tableau_2D);
Ca compile sans warnings et pas d'erreur a l'execution...
Mon problème c'est que si je code ca
1 2 3 4 5 6 7 8
| void Freememory_2D(int dim1, double ***R)
{
for (int i=0; i<dim1; i++)
{
delete[] R[row];
}
delete[] R;
} |
Ca marche aussi, pas de warning du compilateur et ca s'execute sans pb !! 
Quelle est la bonne methode ?
Partager