Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3015 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Viabilité des variables locales affectées à d'autres variables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Viabilité des variables locales affectées à d'autres variables

n°1703085
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 16-03-2008 à 18:17:07  profilanswer
 

Bon, le titre pas très clair et je vous prie de m'en excuser. Je suis nouveau en programmation en C++,en particulier pour tout ce qui concerne la programmation objet.

 

Je veux faire la chose suivante, je me demande si c'est sensé :

 


//header
class MaClasse {
int *entier;
MaClasse()}

 

MaClasse::MaClasse() {
int *pointeur;
pointeur = new int[14];
for (i=0;i>14;i++) pointeur[i]=i;
entier = pointeur;
}

 

//main
{
MaClasse MonObjet();
}

 


Donc, ce que je fais, c'est que je construis un tableau dynamique d'entiers à la taille qui me convient dans le constructeur de ma classe, puis j'assigne le pointeur contenu dans l'objet que j'ai créé à la valeur du pointeur ainsi initialisé.

 

Ce que je me demande, c'est si le tableau tout entier reste réservé en mémoire à "MonObjet.entier", ou si en sortant de la fonction où l'on a réservé cet emplacement mémoire à travers la fonction new(), puisque la mémoire était réservée pour "pointeur", elle ne l'est plus pour mon objet... ?


Message édité par hephaestos le 16-03-2008 à 18:17:32
mood
Publicité
Posté le 16-03-2008 à 18:17:07  profilanswer
 

n°1703088
Joel F
Real men use unique_ptr
Posté le 16-03-2008 à 18:22:12  profilanswer
 

la mémoire allouée et un pointeur vers cette mémoire sont deux entités distinctes.
 
<métaphore>
Tu achète une maison 8, rue du gland. (new)
Quand les gens veulent t'envoyer une lettre il utilise ton adresse.
Donner plusieurs fois ton adresse ne detruit pas ta maison.
 
Tu déménage en vendant ta maison (delete) pr aller au 112, avenue des n00b (new). Tu doit redonner ton adresse sinon les lettres n'arrive plus.
</métaphore>
 
Ici, entier va recevoir l'adresse contenu dans pointeur. C'est comme si ta mère donne ton adresse à ta tante.  
 
Ensuite, std::vector c mieux et ca t'évitera de te poser ce genre question qui n'ont pas lieu d'être en C++.

n°1703092
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 16-03-2008 à 18:26:43  profilanswer
 

Merci beaucoup !
 
Je trouve où la doc sur std::vector ?

n°1703095
Joel F
Real men use unique_ptr
Posté le 16-03-2008 à 18:30:57  profilanswer
 
n°1703098
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 16-03-2008 à 18:33:52  profilanswer
 

Erf. Merci encore, je crois que je vais retourner effacer et réécrire mon programme ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Viabilité des variables locales affectées à d'autres variables

 

Sujets relatifs
[RESOLU] Portée variables dans les classes ?passer une des variables d’une page a une autre
Variables spéciales C/C++ [RESOLU][VBS] mapper lecteur reseau avec variables environnement
Problème de passage de variablesMise à jour base données par ajax avec variables POST
30 variables de session, beaucoup ou pas ?multiples variables $_GET avec le même nom
fonctions aléatoires et variablesvariables > include vers include
Plus de sujets relatifs à : Viabilité des variables locales affectées à d'autres variables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR