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 :

multimap initialisation


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Inactif  

    Homme Profil pro
    Ing�nieur test de performance
    Inscrit en
    D�cembre 2003
    Messages
    1 986
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur test de performance
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 986
    Par d�faut multimap initialisation
    Salut tout le mode.

    J'ai une structure et une string:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    typdef struct{
     
      string szName;
      int    iVal1;
      int    iVal2;
     
    }MY_STRUCT;
     
    string szFile;
    j'utilise une multimap pour associer un nom de fichier et une structure de donn�e:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    multimap<MY_STRUCT, string, less<MY_STRUCT::szName> > m_MULTIMAP;
    Comme vous vous en doutez, cette initialisation est incorrecte. J'aimerais que la multimap trie mes donn�es par rapport � la string szName de la structure MY_STRUCT.

    Comment je dois utiliser ce fameux less?

    PS: Cette d�finition est correcte:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    multimap<string, MY_STRUCT, less<string> > m_MULTIMAP;
    mais elle ne m'int�resse pas car elle trie les donn�es par rapport � la string szFile.

  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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    typdef struct{
    ...
    }MY_STRUCT;
    C'est du C-beurk �a, en C++ on n'a plus besoin de cette syntaxe verbeuse.

    Ton probl�me est trait� dans la FAQ C++, il suffit de d�finir un foncteur, ou bien encore l'op�rateur < de ta structure.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    struct MY_STRUCT
    {
        bool operator < (const MY_STRUCT& m) const {return szName < m.szName;}
    };
     
    multimap<MY_STRUCT, string> m_MULTIMAP;
    Ou alors

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    struct SortMyStruct
    {
        bool operator ()(const MY_STRUCT& m1, const MY_STRUCT& m2) const
        {
            return m1.szName < m2.szName;
        }
    };
     
    multimap<MY_STRUCT, string, SortMyStruct> m_MULTIMAP;
    Encore une remarque, les noms en majuscule sont habituellement r�serv�s aux macros

  3. #3
    Inactif  

    Homme Profil pro
    Ing�nieur test de performance
    Inscrit en
    D�cembre 2003
    Messages
    1 986
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur test de performance
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 986
    Par d�faut
    Merci pour cette r�ponse elle m'a fait gagn� un temps pr�cieux et a �t� beaucoup plus pr�cise et enrichissante que n'importe quel cours ou tutorial.

    Promis lorsque j'aurais le temps j'�tudierai en profondeur la STL.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Servlet] Fichiers d'initialisation
    Par david71 dans le forum Servlets/JSP
    R�ponses: 7
    Dernier message: 03/09/2003, 13h47
  2. Cr�er et initialiser un composant TStatusBar :help:
    Par James_ dans le forum C++Builder
    R�ponses: 10
    Dernier message: 21/08/2003, 08h52
  3. [servlet] initialisation d'objets
    Par tiPouick dans le forum Servlets/JSP
    R�ponses: 11
    Dernier message: 05/08/2003, 12h12
  4. Initialisation de XMLModule
    Par Sylvain Leray dans le forum XMLRAD
    R�ponses: 10
    Dernier message: 01/04/2003, 10h08
  5. initialisation Directinput avec delphi
    Par Madmaxx dans le forum DirectX
    R�ponses: 1
    Dernier message: 21/02/2003, 17h37

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