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 :

Creation et manipulation d'une liste a plusieurs elements


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 77
    Par défaut Creation et manipulation d'une liste a plusieurs elements
    Bonjour,

    Je me lance dans le C++ et j'ai des difficultés quand a la création des listes chainées

    Je voudrais créer une liste contenant un template et deux enum, et pouvoir y accéder en utilisant la STL.

    Je sais comment créer une liste de string, d'int ou autre type, mais contenant plusieurs types, j'ai essaye instinctivement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <list>
    #include <iostream>
     
    int                     main()
    {
      enum  one { PREMIER, DEUXIEME };
      enum  two { HEIGHT, WEIGHT };
      std::list<template<typename T>, one, two>     chaine;
     
      chaine.push_back(44.6, PREMIER, HEIGHT);
       std::cout << chaine.front() << std::endl;
    }
    et je me retrouve avec un tas d'erreurs sur la ligne de la création de a liste, si quelqu'un pouvait m'aiguiller sur la façon de faire, ca m'aiderait beaucoup !

    Merci.

  2. #2
    screetch
    Invité(e)
    Par défaut
    tu ne peux pas créer un une liste de template. Un template n'est pas un type.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 77
    Par défaut
    Merci pour ta reponse, mais une list ne peut pas comporter plusieurs types differents en C++ ? (je parle bien de la bibliotheque <list>)

    La solution a mon problème serait peut être de créer une list de class ou d'une structure, contenant elle mon template et mes deux enum, qu'en pensez vous ? Esce possible ?

    Merci

  4. #4
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par défaut
    std::list est une liste homogéne.
    Si tu veux une liste hétérogene, il faut :
    - soit utiliser fusion::list si la liste de tes elements est connus et immutables
    - std::list<boost::variant<T1, .., TN> > si les type spossibles sont connus, immutables mais que les elements peuvent varier.
    - std::list<boost::any> si tu ne connais pas a l'avance les types de tes elements

  5. #5
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Ou la possibilité d'une liste hétérogène, mais dont tous les éléments dérivent d'une même classe de base, où l'on gère une liste de pointeurs (éventuellement intelligents) sur la classe de base.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 77
    Par défaut
    Merci vos conseils, je vais potasser la dessus.

  7. #7
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par défaut
    Citation Envoyé par JolyLoic Voir le message
    Ou la possibilité d'une liste hétérogène, mais dont tous les éléments dérivent d'une même classe de base, où l'on gère une liste de pointeurs (éventuellement intelligents) sur la classe de base.
    comment je suis rongé jusqu'a la moelle de TMP. J'en avais oublié cette solution

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

Discussions similaires

  1. Scinder une liste en plusieurs
    Par billou06 dans le forum Excel
    Réponses: 6
    Dernier message: 28/06/2007, 10h34
  2. [ul/li] Séparer une liste sur plusieurs colonnes
    Par Wookai dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 22/06/2007, 14h01
  3. [Struts]Affiche d'une liste sur plusieurs pages
    Par guillaume_85 dans le forum Struts 1
    Réponses: 3
    Dernier message: 24/06/2005, 20h23
  4. manipulation d'une liste chainé
    Par sorari dans le forum C++
    Réponses: 1
    Dernier message: 16/03/2005, 12h32
  5. [MFC] Classer une liste a plusieur colonne
    Par Kevgeii dans le forum MFC
    Réponses: 8
    Dernier message: 07/03/2005, 15h09

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