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 :

Paramètre générique via typedef/using


Sujet :

Langage C++

  1. #1
    Membre éclairé

    Homme Profil pro
    Non disponible
    Inscrit en
    Décembre 2012
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Non disponible

    Informations forums :
    Inscription : Décembre 2012
    Messages : 478
    Points : 877
    Points
    877
    Billets dans le blog
    1
    Par défaut Paramètre générique via typedef/using
    Bonjour le monde,

    S'il vous plait, une petite question, pour rendre générique une classe ou un ensemble de classes, à la place d'un template pour definir un type, celui ci peut-il être défini dans une classe à part à l'aide d'un simple typedef ou using ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Salut,

    j'ai pas tout compris, mais tu demandes si tu peux faire typedef std::vector<int> VecInt; ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre éclairé

    Homme Profil pro
    Non disponible
    Inscrit en
    Décembre 2012
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Non disponible

    Informations forums :
    Inscription : Décembre 2012
    Messages : 478
    Points : 877
    Points
    877
    Billets dans le blog
    1
    Par défaut
    Merci Bousk, et désolé pour la tournure de mes phrases

    Je suis entrain d'essailler de faire une sorte de système de quadtree.
    Les objets que je veux manipuler vont peut être changer.
    J'aimerais garder la possibilitée de changer le type sans passer par les templates pour pouvoir faire mes déclarations de fonction dans un fichier source.

    (le code est juste à titre d'exemple)
    ValueType.hpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //==============================================================================
    #include "VraiType.h"
    //------------------------------------------------------------------------------
    using ValueType = VraiType;
    //==============================================================================
    QuadTree.hpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //==============================================================================
    #include "ValueType.h"
    #include "Quad.h"
    //------------------------------------------------------------------------------
    struct QuadTree
    {
        void set(const pos2D pos, const ValueType value);
        std::array<Quad, 4> quad_tree;
    }
    //==============================================================================
    Quad.hpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //==============================================================================
    #include "ValueType.h"
    //------------------------------------------------------------------------------
    struct Quad
    {
        std::array<ValueType, 4> quad_tree;
    }
    //==============================================================================
    Est-ce une pratique "dangeureuse" ? J'ai pas l'impression que ça respecte vraiment l'OCP mais je ne vois pas comment faire autrement.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Ok, donc c'est à peu près ce que je pensais et disais^^
    Pourquoi penses-tu que mettre un typedef dans ta classe soit une mauvaise chose ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    struct Vector {
    typedef float ValueType;
    ...
    };
    est tout à fait correct, acceptable et bon à faire

    après faut juste penser à utiliser Vector::ValueType dans ton programme principal aux bons moments et hop tu peux tout changer tranquillement
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre éclairé

    Homme Profil pro
    Non disponible
    Inscrit en
    Décembre 2012
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Non disponible

    Informations forums :
    Inscription : Décembre 2012
    Messages : 478
    Points : 877
    Points
    877
    Billets dans le blog
    1
    Par défaut
    Bon bah c'est pas si mal alors , je pensais sortir des sentiers battus

    Merci !

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

Discussions similaires

  1. Passage de paramètre pour la clause USE
    Par Didier L dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/12/2007, 13h44
  2. Modifier un paramètre IE via les registres
    Par jpberub dans le forum Windows
    Réponses: 0
    Dernier message: 02/08/2007, 17h28
  3. [2.2.0]Passage de paramètre générique
    Par lazarel dans le forum BIRT
    Réponses: 3
    Dernier message: 31/07/2007, 15h21
  4. Réponses: 5
    Dernier message: 14/04/2006, 23h05
  5. Réponses: 1
    Dernier message: 29/03/2006, 11h05

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