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 :

executer une fonction par son nom en string


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Ao�t 2007
    Messages
    125
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2007
    Messages : 125
    Par d�faut executer une fonction par son nom en string
    Bonjour,
    voil� j'utilise un web service (soap) qui fonction comme ca :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    soap_call_nomfonctionsurleserveur(arguments);
    Donc mon id�e est de concat�ner "soap_call_" avec mes divers "nomfonctionsurleserveur" et ensuite d'appeler cette fonction en C++ grace � cette concat�nation.

    Sous matlab c'�tait tout simple:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    eval(nomfonction, argument fonction)
    mais en C++ je n'en ai aucune id�e.

    Auriez vous des tuyaux ?

    Merci par avance.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    33
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 33
    Par d�faut
    Salut,

    Un solution pourrait �tre de cr�er une Map pour

    QMap <QString(nomdelafonction),Pointeur vers ta fonction>

    ++

    F.

  3. #3
    Membre �m�rite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    D�tails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Par d�faut
    Pourquoi donner l'exemple avec Qt?

    std::map et std::string en standard

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    33
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 33
    Par d�faut
    Citation Envoy� par nikko34 Voir le message
    Pourquoi donner l'exemple avec Qt?
    oooops

    ouaip, c'est ce qui arrive quand on se trompe de forum. Mais bon �a reste valable avec des conteneurs standards.

  5. #5
    Membre confirm�
    Inscrit en
    Ao�t 2007
    Messages
    125
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2007
    Messages : 125
    Par d�faut
    Merci pour ces r�ponses.

    Si j'ai bien compris je fais :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    std::map<(string avec le nom de la fonction),pointeur>
    et apr�s pour appeler la fonction il suffit que j'appel le pointeur ?

  6. #6
    Membre �m�rite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    D�tails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Par d�faut
    Si je me rappelle bien, le probl�me c'est qu'il faut que toutes tes fonctions aient la m�me signature ( m�me retour, m�mes arguments ).

    Sinon ya toujours la m�thode du "if nom=="lenom" then function() "

  7. #7
    Membre �clair�
    Inscrit en
    Avril 2005
    Messages
    1 110
    D�tails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Par d�faut
    Citation Envoy� par milach Voir le message
    Merci pour ces r�ponses.

    Si j'ai bien compris je fais :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    std::map<(string avec le nom de la fonction),pointeur>
    et apr�s pour appeler la fonction il suffit que j'appel le pointeur ?
    D'abord tu d�clares un std::map<,>, ensuite tu le remplis avec toutes les fonctions qui sont susceptibles d'�tre appel�es (j'ai bien dis toutes), et puis seulement tu peux faire une recherche dans le map avec ta string. Avec le pointeur retourn� tu pourras appeler la fonction associ�e, apr�s avoir v�rifi� que la recherche dans le map ait bien abouti bien s�r.
    Je suppose que tu sais cela et que je ne fais que le rappeler...

Discussions similaires

  1. [DOM] appeler une fonction via son nom (qui est une string)
    Par elekis dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 15/07/2008, 13h06
  2. [POO] Appeler une fonction par son nom dans une variable
    Par whitespirit dans le forum Langage
    R�ponses: 16
    Dernier message: 18/06/2008, 11h23
  3. R�ponses: 3
    Dernier message: 25/02/2007, 18h49
  4. appeler une fonction connaissant son nom (en string)
    Par Guigui_ dans le forum G�n�ral Python
    R�ponses: 1
    Dernier message: 20/07/2004, 00h46
  5. [Reflection] Executer une fonction dont le nom est contenu dans un String
    Par christobal dans le forum API standards et tierces
    R�ponses: 8
    Dernier message: 05/07/2004, 15h23

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