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

  1. 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
  2. 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