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 :

type de retour de std::bind


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 356
    Par défaut type de retour de std::bind
    Bonjour à tous, suite à la lecture de ceci

    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.
    J'ai donc un petit problème avec std::bind. J'utilise des choses réservées à l'implémentation pour déterminer le type de retour de std::bind.
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    typedef std::_Maybe_wrap_member_pointer<Fc> __maybe_type;
    typedef typename __maybe_type::type __functor_type;
    typedef std::_Bind<__functor_type(Args...)> ResultFunctorType;
    Avec ResultFunctorType le type de retour.
    Comment puis-je avoir ce type de manière portable ?
    J'ai trouvé ce code dans functional de gcc4.5 Mingw après une recherche google non fructueuse.

    Merci à tous.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tu peux utiliser auto(ou decltype) si ce n'est que pour avoir le type lors de l'appel à bind. Sinon il faut regarder du coté de std::function<>(ou boost::function<>, ou autres du meme genre)

  3. #3
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par défaut
    +1 pour auto ici

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 356
    Par défaut
    J'utilise déjà auto, mais je dois ensuite repasser cette objet dans une classe template et donc lui donner le type de l'objet.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Quelque chose comme ceci ne te convient pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    auto maFonctionBindee = bind(maFonction, _1, 3);
    MaClasse<decltype(maFonctionBinde)> linstanceDeMaClasse;
    linstanceDeMaClasse.passerLaFonctionBindee(maFonctionBinde);

  6. #6
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 356
    Par défaut
    Je dois dire que je ne dois pas comprendre comment decltype marche... mais je vais tester. Quelqu'un aurait un lien expliquant decltype ?

Discussions similaires

  1. Perte de type en retour de fonction
    Par Bebel dans le forum Langage
    Réponses: 8
    Dernier message: 22/12/2005, 12h54
  2. Type de retour de la valeur d'une msgbox
    Par Aurèl90 dans le forum Access
    Réponses: 10
    Dernier message: 02/12/2005, 16h45
  3. [Oracle 9.1] Types de retour d'une fonction PL/SQL
    Par ftrifiro dans le forum PL/SQL
    Réponses: 8
    Dernier message: 12/10/2005, 16h54
  4. [type de retour pour un update]
    Par viny dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 21/03/2005, 21h08
  5. [type de retour dans une proc]
    Par viny dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 19/03/2005, 14h35

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