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 :

Tableaux "génériques": implémentation


Sujet :

C++

  1. #1
    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 Tableaux "génériques": implémentation
    Bonsoir,

    J'aurais 2 questions concernant les tableaux "génériques" (par là j'entends des tableaux pouvant contenir n'importe quoi, comme adobe::array_t)

    - Existe-t-il à part adobe::array_t, une autre classe se comportant ainsi ?
    - Si vous deviez l'implémenter, comment l'implémenteriez vous, niveau hiérarchies etc...

    Merci de vos réponses

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Existe-t-il à part adobe::array_t, une autre classe se comportant ainsi ?
    Tableaux génériques dynamiques : std::vector.
    Tableaux génériques de taille fixe : boost::array.

    D'ailleurs tu cites adobe::array_t pour quoi ? Car ce n'est qu'un wrapper pour std::vector gérant le copy-on-write.

    [EDIT] A moins que j'ai mal compris, et que adobe::array_t stocke des éléments hétérogènes, c'est ça ? Si c'est le cas : std::vector<boost::any> par exemple, mais ce n'est que rarement nécessaire.

    - Si vous deviez l'implémenter, comment l'implémenteriez vous, niveau hiérarchies etc...
    Le mieux est de regarder le code source des classes citées ci-dessus je pense. Et puis surtout pas de hiérarchie

  3. #3
    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
    Oui nan mais par hiérarchie j'voulais pas parler de hiérarchie d'héritage... Mal choisi le mot hiérarchie.
    Et oui pour les éléments hétérogènes

    Je voulais juste avoir les idées des developpeurs sur le sujet, j'ai déjà regardé le code-source de adobe::array_t

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    C'est pour quel genre d'utilisation, que tu voudrais un tel tableau ?

    Sinon comme je te l'ai dit, pour stocker n'importe quoi moi j'utiliserais boost::any, surtout que tu ne dois avoir besoin que d'en-têtes pour l'utiliser.

  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
    le std::vector< boost::any > convient parfaitement.
    Cependant je m'interrogeais juste sur adobe::array_t, aucune utilisation dans un projet...
    Merci pour les réponses.

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

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