Tyroflan
Messages postés10Date d'inscriptionsamedi 1 mars 2003StatutMembreDernière intervention31 mars 2008
-
21 mars 2003 à 10:29
Tyroflan
Messages postés10Date d'inscriptionsamedi 1 mars 2003StatutMembreDernière intervention31 mars 2008
-
21 mars 2003 à 12:56
juste une question
si j'ai ceci :
int *p1;
...
main()
{
int pipi;
cin >> pipi;
p1 = new int [pipi];
...
delete[pipi] p1; ou bien delete[] p1;
}
MAIS
je procède ainsi ds mon progarmme:
int **bourse;
main()
{
int pipi;
cin >> pipi;
bourse = new int* [pipi];
for (int i=0;i<pipi;++i)
bourse[i] = new int [5];
// comment faire un delete correct pour bien deleter toutes mes variables crées ?
}
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 21 mars 2003 à 11:14
Si tableau, ton cas:
delete[] ptr;
else delete type;
Vois que ici tu pouvais utiliser malloc(), la diff est que new sait appeler le constructeur si est une classe, ce qui n'est pas le cas. Le pendant de malloc est free(ptr);
BruNews, ciao...
cs_vieuxLion
Messages postés455Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention 6 avril 20048 21 mars 2003 à 12:27
Salut
Dans ton premier cas, comme te l'a dit Brunews, il suffit de delete[]
p1 new int[pipi];> delete[] pi;
Par contre , dans ton deuxième cas, il faut bien TOUT libérer
bourse = new int* [pipi];
for (int i=0;i juste une question
>
>
> si j'ai ceci :
> int *p1;
> ...
> main()
> {
> int pipi;
> cin >> pipi;
> p1 = new int [pipi];
> ...
> delete[pipi] p1; ou bien delete[] p1;
> }
>
> MAIS
>
> je procède ainsi ds mon progarmme:
> int **bourse;
>
> main()
> {
> int pipi;
> cin >> pipi;
> bourse = new int* [pipi];
> for (int i=0;i bourse[i] = new int [5];
>
> // comment faire un delete correct pour bien deleter toutes mes variables crées ?
> }
>
>
> Merci de votre aide.
> Xavier