begin process at 2012 05 30 07:16:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

question d'expérience


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

question d'expérience

vendredi 9 décembre 2005 à 16:45:12 | question d'expérience

kortin

Bonjour,
désolé de vous solliciter encore une fois, mais j'ai une question importante :

Dans les livres, il est dit :
Quand on recopie un objet qui contient des pointeurs vers une partie dynamique, il faut allouer une nouvelle partie dynamique, recopier le contenu et détruire l'ancienne.
Parce qu'il parait que le pointeur recopier par recopie automatique ne pointe plus correctement.

J'ai vu ça dans Programmer en C++ des editions-eyrolles, et il me semble que c'est une inepsie.

Explication :
J'ai fait un petit logiciel avec plein de partie dynamique et je recopie mes objets en automatique et tout marche bien !!
Je me demande si c'est dû à windows et je voulais savoir si vous aviez déjà eu des programme qui tourne sous windows et qui plante sous linux ?

vendredi 9 décembre 2005 à 17:04:39 | Re : question d'expérience

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Je comprends ni ce que dit le livre, ni ce que tu dis. J'aimerais un petit bout de code, mais por te répondre, un source écrit en C++ devrait avoir le même comportement sous Windows et Linux
vendredi 9 décembre 2005 à 22:23:16 | Re : question d'expérience

Hylvenir

Réponse acceptée !
Salut,
et pourtant le livre à raison et ton programme est bogué ;)

ex:

class String {
   char * s;
  public :
    String( char* str )  { s = new char[ strlen(str)+1); strpcy( s, str ) }
    ~String() { delete[] s; }
}

ex :

String fct()
{
    String s( "bonjour" );
    return s;  // quand tu sors d'ici, le destructeur est désalloué
}

l'opérator = recopie la valeur des pointeurs donc le s de la nouvelle instance pointe vers une zone désalloué en sortant de fct.

Au pire, tu ne fais pas le delete, et ton programme fuit


Ma participation à la saturation du net:
http://hylvenir.free.fr
samedi 10 décembre 2005 à 17:17:32 | Re : question d'expérience

kortin

ah oui je comprend mieux, après relecture, le livre comporte en fait une ambiguité.
Oui, c'est logique, si la partie est désalloué, il faut en préparer une nouvelle, dans le cas de la POO pure.
Mais comme mon programme traite des données globales, c'est bon.
Et je sais que les résultats sous windows et sous linux sont exactement les même donc tout va bien.  Le bouquin n'était pas clair.
Merci d'être plus précis encore.
Merci Hylvenir vecchio56, j'ai bien compris maintenant.



Cette discussion est classée dans : dynamique, question, recopie, partie, expérience


Répondre à ce message

Sujets en rapport avec ce message

Question sur les treah et mutex [ par fred100582 ] Salut, je travaille sur un programme de simulation qui comporte une partie déterministe et une partie stochastique. Ces deux parties fonctionnent avec [Qt] Partie dynamique [ par qt00 ] Bonjour,je suis entrain de developper une application en C++/Qt.je me heurte à un probleme de conception en fait j'arrive pas à voir comment faire la Rendre une partie de fenetre transparente [ par qbasic ] salut a tousj'ai découvert SetLayeredWindowAttributes qui permet de rendre toute une fenetre transparentemais je désire ne rendre transparent qu'une p question sur une commande [ par alexlecobra ] bonjour je voudrais savoir s'il existe une commande permettant à l'utilisateur de taper quelque chose,que le pc le retienne et l'efface de l'écran mai question [ par leorng ] Bonjour,je suis nouveau sur le site ,et je viens de proposer un tutorial sur une bibliothéque du langage c .et je sais pas combient de jours faut-il p Cast de double en long et vice-versa : question pas si triviale [ par BenGourion73 ] Bonjour, Ma question est très simple. je souhaite gérer des nombres entiers mais avec le type double. Le hic, c'est que C++ a une facheuse tendance à Question à propos de la pile d'appel... [ par yoman64 ] Bonjour à tous, N'étant pas expert en C, ma question va peut être sembler stupide, mais j'aimerais bien trouvé un expert(ou n'importe qui ayant la rép


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,510 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales