Le tableau sera vidé a la fin de l'exécution de la fonction.
Après tu as le cas de des objets.
Quand tu utilises ton new, tu instancies ton objet (la place mémoire est prise), une fois que tu quitte la fonction il devrais être dé-alloué automatiquement.
En fait le delete explicite va libérer la mémoire pour cet objet là où tu l'appelles.
Bon je suis plus trop sur du fait que tu doives faire un appel explicite a ton delete dans une fonction pour dé-allouer l'objet.
(Je sort de trop de php pour te répondre)
Mais c'est le même soucis que ton allocation de zone mémoire via un appel malloc, tu alloues ta zone mémoire, ensuite tu dois la détruire, sinon c'est une fuite de mémoire.
(en fait a la fin du programme elle sera libérée de toute façon).
Je te conseille d'aller relire le comportement des fonctions en C++ de plus prêt, tu trouvera une réponse a ce problème sure.
# Hum
Posté par Raphaël G. (site web personnel) . En réponse au message Constructeur, destructeur, et autre.... Évalué à 2.
A savoir :
void fonction()
{
char tab[5] = ['a','b','c','d','e'];
}
Le tableau sera vidé a la fin de l'exécution de la fonction.
Après tu as le cas de des objets.
Quand tu utilises ton new, tu instancies ton objet (la place mémoire est prise), une fois que tu quitte la fonction il devrais être dé-alloué automatiquement.
En fait le delete explicite va libérer la mémoire pour cet objet là où tu l'appelles.
Bon je suis plus trop sur du fait que tu doives faire un appel explicite a ton delete dans une fonction pour dé-allouer l'objet.
(Je sort de trop de php pour te répondre)
Mais c'est le même soucis que ton allocation de zone mémoire via un appel malloc, tu alloues ta zone mémoire, ensuite tu dois la détruire, sinon c'est une fuite de mémoire.
(en fait a la fin du programme elle sera libérée de toute façon).
Je te conseille d'aller relire le comportement des fonctions en C++ de plus prêt, tu trouvera une réponse a ce problème sure.