IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

allocation dans une <map>


Sujet :

C++

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Points : 189
    Points
    189
    Par défaut allocation dans une <map>
    bonjour,
    voici un petit bout de code que je comprend pas


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    int f(){
                   Mvt M;
    		M.mvt = new CPicture(path);
    		M.nframe =  nbreframe;
    		M.timeframe = timeframe;
    		MapMvt[flag] = M;		
     
    }
    ou mvt est une bete structure.

    en fait, ce que je comprend pas, c'est pourquoi, lorsq'on sort de la fonction, M est toujours en vie. cad, que mapMVT[flag] mer renverra M meme a l'exterieur de la fonction,

    je veux dire par la que la portée de M a disparu . theoriquement M apres la foction devrais etre effacer.
    est bien comme cela que ca doit etre programmer ou bien je dois le faire en dynamique??

    merci

    a++

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Non, M est bien détruit à la fin de la fonction. Ce qui est stocké dans la map, c'en est une copie (ce qui implique que ta classe soit correctement copiable).

    est bien comme cela que ca doit etre programmer ou bien je dois le faire en dynamique??
    Ca dépend de la sémantique de ta classe. A moins que tu aies une sémantique de référence (des instances issues d'une hiérarchie, des ressources particulières, ...) n'utilise pas d'allocation dynamique.

    (tiens, je me mets à parler comme Luc )

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Points : 189
    Points
    189
    Par défaut
    ben en fait, c'est une petite structure a la c (donc pas de fonction etc..etc..)

    merci

    a++

  4. #4
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Citation Envoyé par Loulou24
    (tiens, je me mets à parler comme Luc )
    Eh eh.

    Il faut dire que quand on a trois mots qui résument un long discourt avec démonstrations à l'appui, il est difficile de ne pas être tenté.

    Autrement je rajouterai que sans rajouter du code avant la libération des maps, ce genre de structures a de très fortes chances de fuir.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Javascript dans une image map
    Par Oriane85 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/08/2011, 17h37
  2. Comment accéder aux données d'une Map contenue dans une autre Map
    Par leeti dans le forum Collection et Stream
    Réponses: 15
    Dernier message: 27/05/2011, 23h35
  3. Acceder a la fonction membre d'une classe, dans une std::map
    Par student_php dans le forum Débuter
    Réponses: 2
    Dernier message: 10/05/2011, 20h38
  4. Réponses: 8
    Dernier message: 03/04/2008, 19h04
  5. Libérer des pointeurs dans une std::map
    Par GaldorSP dans le forum SL & STL
    Réponses: 2
    Dernier message: 09/07/2005, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo