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 :

Question de résolution


Sujet :

C++

  1. #1
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut Question de résolution
    Bonjour,

    Je ne comprends pas pourquoi l'égalité fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::tr1::_Pair_data<0,std::pair<int,int>>::_Type (*ggg)(pair<int,int>& )=std::get<0,int,int>;
    alors que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int (*ggg)(pair<int,int>& )=std::get<0,int,int>;
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	 std::pair<int,int>::first_type (*ggg)(pair<int,int>& )=std::get<0,int,int>
    ne fonctionnent pas. Pourtant,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     std::pair<int,int>::first_type
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::tr1::_Pair_data<0,std::pair<int,int>>::_Type
    se résolvent à int.


    Merci

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Aucune raison que cela ne compile pas (ceci dit, il ne s'agit pas d'une égalité mais d'une initialisation).
    ....
    sauf une mauvaise lecture du code source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    template<class _Ty1,
    	class _Ty2>
    	struct _Pair_data<0, _STD pair<_Ty1, _Ty2> >
    	{	// struct to pick out argument type and value at index 0
    	typedef _Ty1& _Type;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      int& (*ggg)(std::pair<int,int>& )=std::get<0,int,int>;
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       std::pair<int,int>::first_type& (*ggg3)(std::pair<int,int>& )=std::get<0,int,int>;
    compilent alors très bien.

  3. #3
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut
    ok merci

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

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 641
    Par défaut
    Salut,

    Juste une petite remarque en passant (qu'il me semble que l'on t'a déjà faite )

    Evite comme la peste les membres et structures dont le noms est préfixé par l'underscore " _ " (ou le double underscore " __ " ).

    Il s'agit de termes propres à l'implémentation que tu utilise, et il n'est pas du tout impossible qu'ils n'existent simplement pas si tu vient à changer de compilateur, voire, simplement, de version de la bibliothèque que tu utilise.

    std::tr1::_Pair_data pourrait donc, parfaitement, se transformer en std::tr1::_pair_data ou (moins subtile ) std::tr1::_data_pair en fonction de la version du compilateur et / ou de la version de la bibliothèque utilisée, et tu te retrouverais avec une foule d'erreur assez impressionnante
    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

  5. #5
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    @Koala : c'est du code d'implémentation .... de la STL de microsoft. D'où ces '_'. Je suppose que deubelte explore cette implémentation particulière pour étudier un exemple de code (car si c'est pour apprendre la STL, c'est le mauvais chemin ).

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

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 641
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    @Koala : c'est du code d'implémentation .... de la STL de microsoft. D'où ces '_'. Je suppose que deubelte explore cette implémentation particulière pour étudier un exemple de code (car si c'est pour apprendre la STL, c'est le mauvais chemin ).
    C'est bien pour cela que j'attire son attention sur ce fait...

    Il me semble juste que l'underscore comme préfixe est réservé par la norme pour l'implémentation de la STL...

    Tu pourrais donc avoir une autre société qui l'implémente, qui utiliserait aussi l'undersocre comme préfixe, mais qui utiliserait des termes différents

    ou ai-je encore une fois rêvé??
    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

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

Discussions similaires

  1. Question sur la résolution de l'équation de POISSON
    Par Fredchkek dans le forum Mathématiques
    Réponses: 27
    Dernier message: 22/04/2014, 18h59
  2. Réponses: 1
    Dernier message: 21/01/2012, 00h16
  3. Question sur la résolution d'écran pour iPhone
    Par cprdev dans le forum Développement iOS
    Réponses: 1
    Dernier message: 15/12/2010, 20h32
  4. questions résolution écran/moniteurs
    Par Mat.M dans le forum Périphériques
    Réponses: 14
    Dernier message: 17/10/2007, 16h57

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