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

SL & STL C++ Discussion :

[Tuto] Recherche de tutoriel sur std::list et std::vector


Sujet :

SL & STL C++

  1. #21
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 167
    Points : 69
    Points
    69
    Par défaut
    Ca compile... mais je vais vous le reecrire en simplifie pour etre sur d'avoir tout defini (je met pas les headers ni rien, hein, si vous voulez tester, vous ajouter un .h avec le bout de code qui suit et dans le main, juste un constructeur de la classe.

    #include <list>
    #include <vector>
    #include <iterator>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class TRUC
    {
     protected : 
        list<vector<double> > L_C;
        int size;
     
     public : 
        TRUC(double& db);
        ~TRUC();
    };

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    TRUC::TRUC(double& db)
      {
       vector<double> Vect(1,db); 
       L_C.push_back(Vect);
       size=1;
      }
     
    TRUC::~TRUC(void)
     {
      // normalement la liste sait nettoyer les vector puisque c'est une classe
     }
    ... on ne peut plus simple!

    Je vous ai vire ce qui permet de "voir" au ralenti le contenu des objets avec le deboggeur pas a pas.
    Le pb est le suivant : la list L_C est mal rempli et sa retourne a la destruction de TRUC une erreur car il n'arrive pas a faire delete(NULL)

  2. #22
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Ce code ne compile pas parce que list et vector sont dans l'espace de nom std, et tu ne créés aucun objet truc, mais à part ça c'est parfaitement correct et fonctionne sans problème.

  3. #23
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 167
    Points : 69
    Points
    69
    Par défaut
    euh, j'ai oublie de dire qu'en haut du header, ya qd meme using namespace std; et tous les headers utilises.

    Si c'est pas ca que tu souhaitais, faut m'expliquer comment on fait sinon pour creer un objet liste ou vector (j'ai deja regarde la faq et j'ai des petits exemples qui marche, la combinaison par contre non)



    EDIT :

    Je viens de relire ton msg et en fait, tu as trouve toi meme
    Donc ca compile (chez moi aussi) et ca marche chez toi. Bien et as-tu verifie le contenu du vector en temps reel?

    Sinon, dans le veritable code, j'ai laisse un "return;" dans le destructeur, cela peut-il poser un probleme?
    Et les double sont en fait un objet de classe (C_P<double>) qui est normalement fonctionnelle. J'ai meme verifie l'operateur de recopie puisque vect fait des copies.

    Sinon, il va valloir que je reregarde et vous donne une autre idee demain.

  4. #24
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    euh, j'ai oublie de dire qu'en haut du header, ya qd meme using namespace std; et tous les headers utilises.
    On t'a jamais dit qu'il ne faut jamais faire de using à la portée d'un fichier dans un entête ?

    Et les double sont en fait un objet de classe (C_P<double>) qui est normalement fonctionnelle.
    Il faudrait voir cette classe.

  5. #25
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 167
    Points : 69
    Points
    69
    Par défaut
    pour le using, je ne comprends pas de quoi tu parles :

    _header
    _using
    _code de definition/declaration
    (c'est ce que j'utilise)

    Pour la classe... elle est basique et copie conforme des exemples de la faq.
    Par contre, j'ai trouve le pb hier... il s'agissait d'une lecture derriere le vector... je lisais le terme derriere end...
    Mais le deboggeur ne me montrais pas de pb (il arrivait a lire ) et je pense que ca devait affecter qq part la memoire. Du coup, ca bogguait n'importe qd.

  6. #26
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 264
    Points : 6 683
    Points
    6 683
    Billets dans le blog
    2
    Par défaut
    Pourquoi ne pas utiliser using dans un en-tête (header), c'est expliqué dans cette faq

  7. #27
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut pb sort
    Bonjour,

    je viens de passer à builder 6 et je ne retrouve pas la fonction sort pour les vector . J'ai bien indiqué comme dans le post using std:: vector et std::sort.
    et j'ai ce message d'erreur "sort is not a member of std"

    que faire?

    Je vous remercie d'avance pour votre réponse.

  8. #28
    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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/11/2010, 13h00
  2. Recherche cours/tutoriels sur csharp.net
    Par angellica.ginf dans le forum Débuter
    Réponses: 2
    Dernier message: 09/07/2010, 16h13
  3. Recherche d'algorithme sur les listes
    Par shaku dans le forum Scheme
    Réponses: 3
    Dernier message: 22/01/2009, 03h16
  4. Cherche tutoriels sur les listes
    Par the jocker dans le forum C
    Réponses: 1
    Dernier message: 11/11/2007, 12h51
  5. Recherche de tutoriels sur ncurse
    Par Pipoland dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 02/12/2004, 08h36

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