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

Langage C++ Discussion :

template et pointeur de fonction.


Sujet :

Langage C++

  1. #1
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Points : 661
    Points
    661
    Par défaut template et pointeur de fonction.
    salut,

    jaimerais savoir si c'est possible de declarer un type generique qui accepterais n'importque quel pointeur de fonction possible (type de la valeur de retour + nombre de param + type des param : inconnu) ?

    je sais pas du tout comment faire ca malgrès la faq
    merci
    Pour les details, cherche tout seul !

  2. #2
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    template <typename FunctionType> void exec(FunctionType f)
    {
       f();
    }
    Cependant, si tu as besoin de quelque chose de plus complet, précise-le, car ta question demeure vague. Cette solution est bonne selon les cas.

    Précise un peu le contexte dans lequel tu as besoin de ça, et quels sont précisément tes besoins, justement.

  3. #3
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Points : 661
    Points
    661
    Par défaut
    c'est en fait pour enregistrer des pointeurs de fonction de callback de type totalement different dans un meme conteneur.
    Pour les details, cherche tout seul !

  4. #4
    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 : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Et tu vas passer quoi comme paramètres lors de l'appel s'ils peuvent être de n'importe quel type ?

    Il faut forcément que tu fasses une distinction sur le prototype. Par contre après tu peux stocker n'importe pouvant être bindé à un prototype donné, avec boost.function.

  5. #5
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    J'avais ouvert une discussion semblable.
    Je te montre ça dès que je le trouve.

  6. #6
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    http://www.developpez.net/forums/sho...d.php?t=230448

    C'est _très_ intéressant. Grand moment

  7. #7
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    jaimerais savoir si c'est possible de declarer un type generique qui accepterais n'importque quel pointeur de fonction possible (type de la valeur de retour + nombre de param + type des param : inconnu) ?
    Non.
    Techniquement, pour faire ça, il faudrait pouvoir faire des templates de fonctions virtuelles.
    Boost ftw

  8. #8
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Il me semble que l'on peut s'en sortir cependant en associant toutes les fonctions de types de retour différents dans un même conteneur, ...

  9. #9
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Citation Envoyé par loufoque
    Non.
    Techniquement, pour faire ça, il faudrait pouvoir faire des templates de fonctions virtuelles.
    Pour le moment, et apparemment pour un bon moment, il est impossible de déclarer des fonctions à la fois template et virtuelles.

  10. #10
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    D'où le non.
    Merci Captain Obvious !
    Boost ftw

  11. #11
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Ce n'était pas à toi que j'apportais la précision loufoque, tu peux t'en douter je pense

Discussions similaires

  1. Réponses: 24
    Dernier message: 21/06/2013, 03h45
  2. Variadic template et pointeur sur fonction
    Par jetSett dans le forum Langage
    Réponses: 5
    Dernier message: 14/02/2013, 20h57
  3. template et pointeurs de fonction
    Par Lintel-oo dans le forum C++
    Réponses: 3
    Dernier message: 16/04/2011, 22h59
  4. Templates et pointeurs de fonctions
    Par feda12 dans le forum C++
    Réponses: 7
    Dernier message: 09/03/2011, 10h04
  5. Réponses: 13
    Dernier message: 03/10/2005, 18h06

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