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

SL & STL C++ Discussion :

map::find avec des classes perso


Sujet :

SL & STL C++

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Par défaut map::find avec des classes perso
    Bonjour à tous

    Je dispose d'un grand nombre de données dans lesquelles je dois régulièrement faire des recherches d'éléments.

    Après avoir testé le std::vector, je me suis rendu compte que la recherche était vraiment trop lente.
    J'ai donc pensé les mettre dans une map.

    En résumé je dispose d'une structure point, codée comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    struct point {
    	double _x, _y ;
     
    	point ()
    	{
    		_x = 0. ;
    		_y = 0. ;
    	} 
     
    	point (double x, double y) 
    	{
    		_x = x ;
    		_y = y ;
    	} 
    } ;


    que je veux mettre en data

    Ensuite mon code (long, qui utilise std::map::find) me renvoie la même erreur que ce petit exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    std::map<int, point > uuu ;
    point ppp(2., 3.) ;
    uuu[0] = ppp ;
    std::map<int, point >::iterator it = uuu.find(ppp) ;

    A savoir :

    Erreur 1 error C2664: 'std::_Tree<_Traits>::iterator std::_Tree<_Traits>::find(const int &)' : impossible de convertir le paramètre 1 de 'point' en 'const int &' main.cpp 26



    Je ne vois vraiment pas pourquoi il aurait besoin de convertir mon p._x en const int &...

    Merci beaucoup de votre aide..

    R.Portalez

  2. #2
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    le find c'est sur la clef ...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Par défaut
    merci...


  4. #4
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    Mais tu gagneras pas forcément, joue plutôt avec les (lower|upper)_bound de la stl (recherche binaire).

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

Discussions similaires

  1. API Google Map démarrer une activity avec des coordonnées perso
    Par jeanjean6 dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 23/08/2011, 14h05
  2. Manipuler avec des classes
    Par poussinphp dans le forum FMOD
    Réponses: 3
    Dernier message: 03/06/2006, 18h20
  3. [Librairies] Pb avec des classes d'envoi de mails
    Par sami_c dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 29/04/2006, 17h56
  4. Réponses: 9
    Dernier message: 25/09/2005, 16h33
  5. Utilisation iterator avec une classe perso
    Par SteelBox dans le forum C++
    Réponses: 19
    Dernier message: 07/03/2005, 11h30

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