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++/CLI Discussion :

[C++ manag�] Comment impl�menter un Tableau associatif (map) ?


Sujet :

C++/CLI

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    25
    D�tails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 25
    Par d�faut [C++ manag�] Comment impl�menter un Tableau associatif (map) ?
    Salut tout le monde
    Je d�sirerais utiliser un tableau associatif (cl�,valeur) dans du code manag�. Le probl�me, c'est que j'ai bien trouv� System::Collections::ArrayList, mais pas de map dans Collections... Si j'utilise std::map, je ne peux pas y ranger mon objet manag� :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    std::map<const char*, MonObjet*> test;
    ma rend
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    error C3265: impossible de déclarer 'second' managé dans
     'std::pair<_Ty1,_Ty2>' non managé
            with
            [
                _Ty1=const char *const ,
                _Ty2=MonObjet __gc *
            ]
    Je ne doit pas �tre le premier � vouloir faire ce genre de truc en c++ manag� mais je n'ai rien trouv� sur le net. Quelqu'un sait comment s'y prendre ?

  2. #2
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    L'�quivalent le plus proche de std::map en manag� est :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    generic<typename TKey, typename TValue>
    public ref class SortedDictionary
    L'utilisation de
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    generic<typename TKey, typename TValue>
    public ref class Dictionary
    Est une alternative � consid�rer (table de hash).
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  3. #3
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    25
    D�tails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 25
    Par d�faut
    Merci bien.
    Sinon, vu que j'avais laiss� tomber l'id�e d'utiliser une map, j'ai d�cid� de me rabattre sur le System::Collections::SortedList et l�, oh surprise, y'a des key et des value, en gros �a doit �tre g�r� comme une map... Des heures de recherche pour rien

  4. #4
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Attention : System::Collections::SortedList est une classe non g�n�rique, et j'en d�conseille donc l'utilisation.

    System::Collections::Generic::SortedList existe aussi, mais n'offre pas les contraintes de complexit�s d'une std::map, plus celles d'un std::vector que l'on maintiendrait tri�. En particulier, l'insertion non ordonn�e est en O(n), au lieu de O(log n). En terme de complexit� op�ratoire, System::Collections::Generic::SortedDictonnary est ce qui s'approche le plus de std::map.
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  5. #5
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    25
    D�tails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 25
    Par d�faut
    Merci pour l'info. Je vais me renseigner sur ces classes g�n�riques. Je suis nouveau en .NET

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

Discussions similaires

  1. tableau associatif (map)
    Par phenix7598 dans le forum C
    R�ponses: 7
    Dernier message: 08/12/2014, 13h20
  2. [Web Service] SOAP : comment r�cup�rer un tableau associatif
    Par het44 dans le forum Biblioth�ques et frameworks
    R�ponses: 4
    Dernier message: 22/08/2014, 09h58
  3. comment faire un tableau associatif
    Par sebac dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 16/08/2010, 09h40
  4. Tableau associatif map.
    Par C_R dans le forum C++
    R�ponses: 25
    Dernier message: 23/06/2005, 16h11

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