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 :

plantage lors de l'utilisation d'un vector


Sujet :

C++

  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Par défaut plantage lors de l'utilisation d'un vector
    Bonjour,
    en codant une petite methode qui utilise un vector de map<string,string> j'ai constaté qu'elle plante lorsque j'affecte la map au vecteur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    vector< vector< map<string,string> >  base_donnee::select_image_with_type(string type)
    {
    //code inutile ......
     
         vector< map<string,string> > liste_info;
        map<string,string> info_image;
    //remplissage de info_image
     
     
            liste_info[0]=info_image;//plantage ici
     
        return liste_info;
    }
    Merci.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Citation Envoyé par isoman Voir le message
    j'ai constaté qu'elle plante lorsque j'affecte la map au vecteur
    Tu n' "affectes" pas la map au vector mais tu demandes à accéder au premier élément du vecteur, qui n'existe pas, puis à assigner info_image à cet élément...
    Utilise plutôt push_back :
    liste_info.push_back( info_image );
    MAT.

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Par défaut

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vector< vector< map<string,string> >

    un vector de vector de map!!
    ca fait beaucoup ça!!
    par curiosité, tu va faire quoi avec??

  5. #5
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 37
    Par défaut
    et surtout, le tout sans utiliser de pointeur, si ton vecteur contient beaucoup d'éléments, n'y a t il pas un risque de dépassement de pile?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 190
    Par défaut
    Citation Envoyé par ZuoYue Voir le message
    et surtout, le tout sans utiliser de pointeur, si ton vecteur contient beaucoup d'éléments, n'y a t il pas un risque de dépassement de pile?
    Salut,

    Quand tu crées un vector<DeQuelqueChose> les éléments du vector sont stockés dans le tas et non dans la pile. Il n'y a donc pas de risques de dépassement de la pile.

  7. #7
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par ZuoYue Voir le message
    et surtout, le tout sans utiliser de pointeur, si ton vecteur contient beaucoup d'éléments, n'y a t il pas un risque de dépassement de pile?
    C'est du dynamic. Donc pas de pile

  8. #8
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 636
    Par défaut
    Salut,
    Citation Envoyé par Mongaulois Voir le message
    salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vector< vector< map<string,string> >

    un vector de vector de map!!
    ca fait beaucoup ça!!
    par curiosité, tu va faire quoi avec??
    J'peux m'gourer, mais:
    1. la paire string, string, c'est un champs (nom du champs / valeur)
    2. la map est un enregistrement
    3. le vector de map est un "set" d'enregistrements, ou une table de la BDD
    4. le vector de vector représente la BDD (ou plusieurs résultats de requètes différentes

    Maintenant, on peut se poser la question de savoir s'il est opportun de gérer tout cela en mémoire
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/08/2012, 13h59
  2. Réponses: 6
    Dernier message: 21/04/2010, 15h56
  3. Utilisation de GModule : un plantage lors du g_module_symbol()
    Par Spartan03 dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 10/01/2007, 18h55
  4. Erreur lors de l'utilisation de strlwr ?!
    Par MonsieurAk dans le forum C++
    Réponses: 4
    Dernier message: 05/12/2005, 10h22
  5. plantage lors de réception de fihier
    Par marsupile dans le forum C++Builder
    Réponses: 9
    Dernier message: 22/01/2004, 18h08

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