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 :

[C++] Eviter le copier coller grace aux templates


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 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Par défaut [C++] Eviter le copier coller grace aux templates
    J'ai un bout de code qui consiste a écrire plusieurs fonctions, chacune déclarant un objet local d'un type différent. A part cet objet, tout le reste du code de chaque fonction est identique donc factorisable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void maFonction1()
    {
    Widget1 w;
    ...  // code factorisable
    }
     
    void maFonction2()
    {
    Widget2 w;
    ...  // code factorisable
    }
    Je pourrais bien sur mettre le code factorisable dans une autre fonction mais je voulais savoir s'il y avait une possibilité grâce aux templates par exemple d'écrire une fonction unique qui puisse déclarer des objets locaux de type différents (comme si je passais l'objet local en paramètre template de la fonction, mais je voudrais que l'objet reste local et ne soit pas passe en paramètre de la fonction) ?

  2. #2
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    template <class T>
    void MaFonction()
    {
        T w;
        ....
    }
    Et à l'appel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MaFonction<Widget1>();
    MaFonction<Widget2>();

  3. #3
    Membre éclairé

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Par défaut Merci !!
    Cool, en fait j'aurais pu le deviner mais je pensais qu'une fonction template ne pouvait avoir que des parametres templates en argument.

  4. #4
    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
    Je te conseille de lire la section "Templates" de la FAQ C++ : http://cpp.developpez.com/faq/cpp/?page=templates

    ainsi que les articles que l'on a sur le sujet sur Developpez : http://loulou.developpez.com/ et http://alp.developpez.com/ principalement.

    Le besoin que tu as ressenti est ce qui a fait naître les templates. Toutefois, il y a un une période dans les années suivantes où de nombreuses utilisations plus avancées des templates sont nées. Par exemple, les classes de Traits et de Politique, la métaprogrammation, etc.

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

Discussions similaires

  1. Macro copier/coller sur 2 fichiers aux noms variables
    Par ThSPB dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/04/2011, 21h25
  2. [VBA-E] Eviter l'affichage de certains messages après un copier/coller
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/03/2007, 18h13
  3. Copier coller Fichier windows
    Par KPitN dans le forum Windows
    Réponses: 8
    Dernier message: 20/04/2004, 17h32
  4. Copier Coller une ligne d'une table avec modif ?
    Par nolan76 dans le forum Requêtes
    Réponses: 4
    Dernier message: 04/03/2004, 16h34
  5. [Débutant] Conserver la couleur lors d'un copier coller
    Par ADIDASman dans le forum JBuilder
    Réponses: 2
    Dernier message: 21/05/2003, 18h13

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