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 :

Pointeur sur fonction renvoyant un pointeur sur fonction


Sujet :

C++

  1. #1
    Débutant  
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Points : 217
    Points
    217
    Par défaut Pointeur sur fonction renvoyant un pointeur sur fonction
    Bonjour
    Peut on voir ceci comme un pointeur sur fonction prenant un int et renvoyant un pointeur sur fonction prenant un int et renvoyant un int ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int (*(*foo(int)))(int);
    merci

  2. #2
    Membre expert
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Points : 3 535
    Points
    3 535
    Billets dans le blog
    1
    Par défaut
    Vous avez 4H.

  3. #3
    Débutant  
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Points : 217
    Points
    217
    Par défaut
    Non, moins (j'espère avoir une réponse avant lol).

  4. #4
    Débutant  
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Points : 217
    Points
    217
    Par défaut
    réponse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     int (*(*ff)(int))(int);

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut
    C'est là qu'on voit l'utilité des typedefs...

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    typedef int (*INTPROC)(int);
    typedef INTPROC (*INTPROCPROC)(int);
    INTPROCPROC foo;

  6. #6
    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
    Points : 13 017
    Points
    13 017
    Par défaut
    auto de C++0x

  7. #7
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    Ba si je me trompe pas dans ton premier poste, c'est une déclaration d'une fonction qui prend un int en argument et retourne un pointeur de pointeur d'une fonction qui prend un int en argument et retourne un int.

    Mais on est tous d'accord que l’intérêt de ce genre de truc est très limité.

  8. #8
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    3DArchi sale tricheur
    Je sens que ce petit mot clé va faire des ravages sur les petits nouveaux qui n'aiment pas la rigueur, ça va être simple pour débugger ce genre de mélasse maintenant ><

  9. #9
    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
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par oxyde356 Voir le message
    3DArchi sale tricheur


    Je pense surtout qu'à la base la question ne relève pas d'un cas terrain. Ou alors d'un mauvais design puisqu'à la place d'un pointeur de fonction, on ferait mieux dès le départ de travailler soit en générique avec un 'callable' soit avec un std::function. Peut être qu'en C la question pourrait se poser.

  10. #10
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Personnellement, je ne juge pas la qualité d'un programmeur en C++ avec de telles horreurs...
    +1 pour auto et boost::function !

  11. #11
    En attente de confirmation mail

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Doubs (Franche Comté)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Points : 3 311
    Points
    3 311
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int (*(*foo(int)))(int);
    => Fonction prenant en paramètre un entier retournant un pointeur de pointeur de fonction qui prend en parmamêtre un entier et retourne un entier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int (*(*ff)(int))(int);
    => Pointeur de fonction prenant en paramètre un entier retournant un pointeur de fonction prenant en paramètre un entier retournant un entier

    Prends une feuille et un crayon et fait le morceaux par morceaux, on finit pas y arriver ... mais quel est l'interet ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/10/2009, 18h16
  2. Réponses: 4
    Dernier message: 23/06/2009, 16h52
  3. pointeur sur une fonction renvoyant un double
    Par nevertheless dans le forum C
    Réponses: 4
    Dernier message: 26/01/2008, 16h22
  4. Réponses: 5
    Dernier message: 29/06/2006, 17h23
  5. Declaration de fonction retournant un pointeur sur fonction
    Par pseudokifaitladifférence dans le forum C
    Réponses: 5
    Dernier message: 11/08/2003, 19h37

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