Allouer de la méoire en C++

Résolu
Guy Niolo -  
 Guy Niolo -
Tout d'abord bonjour à tous,

J'ai commencer le C++ il y a peu et une question me tourne dans la tête (d'une impotance peu capitale mais je suis curieux). Voici un extrait de mon programme :

char* Maliste::types_var(string * app, char** vari, int taille_txt){
string Arechercher
[...]
int n_var = nb_var(vari);
[...]
string * variables_isa = new string [n_var];
[...]
if (found_maj!=-1){variables_isa[i]=smintomaj(Arechercher);
vari[i]=&(variables_isa[i][0]);}
[...]

En déplacant moin pointeur vari[i] vers variables_isa[i], qu'advient-il de ce que vari pointait avant? Est ce que la mémoire de ce que je ne pointe plus est toujours allouée? Est ce qu'elle sera écrasée automatiquement au fil de mon programme?
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

mindslight Messages postés 87 Statut Membre 12
 
Bonjour,

le C++ n'est pas d'oter de Garbage Collector, par consequend tout segment
de memoire reste aloue tant que l'on a pas fait appel a delete.

la variable pointe precedement reste donc alloue.
0
Guy Niolo
 
Merci pour la réponse, j'ai modifié ainsi :

if (found_maj!=-1){variables_isa[i]=smintomaj(Arechercher);
delete vari[i];
vari[i]=&(variables_isa[i][0]);}

Ca a l'air de fonctionner
0