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 :

Utilisez-vous la métaprogrammation


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut Utilisez-vous la métaprogrammation
    Bonjour à tous,


    Mais ne connaissant pas plus que ça la méta programmation et tout ce que l'on peut faire avec, je me suis acheté un bouquin.

    Là j'en suis qu'au début, c'est pas mal mais son utilisation ressemble plus à des trucs utilitaires (genre checker qu'une classe T hérite d'une classe donnée), j'ai du mal à vraiment savoir comment ça peu aider fortement le développeur.


    Utilisez-vous la méta programmation ? Pour faire quoi avec ?


    Merci beaucoup,

    A bientôt

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    Oui j'ai vu ça,

    Si je me souvient bien, il explique comment calculer statiquement des valeurs, mais lorsque l'on a des données dynamique, on peut s'en servir également ?

    Sinon j'ai bien compris l'utilité des hiérarchie linéaires et éparpillées, mais à part ça il y a encore d'autres utilités qu'on peut en tirer ?


    Car le bouquin est super intéressant, et ils montre des exemple d'utilisation du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int i = test_metafonction<24>::value
    Où metafonction fait des trucs de dingue, mais si on ne peut utiliser que des données statiques...

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    La ou je suis, ils ont développer un lib de traitement d'image basé dessus.

    Cela permet de dérouler les boucle des filtres
    Faciliter l'écriture des parcoure dans l'images,
    ...

    Pour moi la meta prog sert à differente chose :
    1- optimization ( par exemple déroulage de boucle)
    2- pouvoir générer des résultats à partir de paramètres connue à la compilation
    3- généralisation de code comme les foncteur
    4- simplifier l'écriture de code :
    avec boost tu peut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::remove_if(vect.begin(),vect.end(), _1 != 10)
    avec std::valarray
    le calcul
    de A = B*C + D sera faite en une boucle au lieux de 3
    Il y as encore beaucoup d'exemple

    J'avais réussi à faire un truc comme cela :
    http://www.developpez.net/forums/d37...e/#post2771668

  5. #5
    Alp
    Alp est déconnecté
    Expert confirmé

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Personnellement, je m'en suis servi pour créer des outils similaires à ceux présentés dans ton bouquin, qui est je suppose C++ Template Metaprogramming - que j'ai lu.

    Les objectifs principaux pour moi étaient l'apprentissage et la maitrise de ces techniques, les optimisations de mes calculs (par exemple j'ai fait un programme disons "mathématique"). Dans les autres codes, il s'agissait comme le cite Mongaulois énormément de génération de code écrire peu pour disposer de beaucoup, c'était l'objectif. Le tout aggrémenté d'un design orienté politique (cf http://alp.developpez.com/tutoriels/traitspolicies/ , partie sur les Politiques)

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    Merci beaucoup

    Oui c'est bien C++ Template Metaprogramming. J'ai également pris "New C++ Design" en espérant qu'il y aura des problèmes + résolutions via la méta programmation.


    J'irai voir ton lien


    A bientôt

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

Discussions similaires

  1. [Templates] Quel système utilisez-vous ? Pourquoi ?
    Par narmataru dans le forum Bibliothèques et frameworks
    Réponses: 270
    Dernier message: 26/03/2011, 00h15
  2. Quels serveurs de messagerie/courriels utilisez-vous ?
    Par jmmolina dans le forum Développement
    Réponses: 2
    Dernier message: 28/10/2003, 00h57
  3. Réponses: 10
    Dernier message: 15/01/2003, 01h06
  4. Utilisez vous la base de registres ?
    Par gRRosminet dans le forum C++Builder
    Réponses: 8
    Dernier message: 04/06/2002, 13h55

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