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 :

tableau de pointeurs


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 113
    Points : 41
    Points
    41
    Par défaut tableau de pointeurs
    Bonjour j'ai un peu de mal dans une syntaxe.

    J'ai une classe UserManager et une classe User. J'appelle une fonction membre getList de userManager afin d'obtenir un tableau de pointeur d'User deja existant.

    voila ce que j'ai ecrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    User** UserManager::getUserList(){
            User *list[nbUser];
            list[0]=firstUser;
            return list;
    }
    Bon pour le moment je n'y met qu'un seul User : firstUser. Par la suite la liste retournée dependra d'un parametre passé mais j'en suis pas la.

    J'aimerai appeller cette fonction comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        User **liste=userManager.getUserList();
    Mais biensur cela ne marche pas. Je rame un peut dans la syntaxe, plus les problemes de portées.

    Merci de m'aiguiller

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164
    Par défaut
    bien le bonjour,

    tu gères des tableaux en C++ avec des pointeurs, aïe aïe aïe !!!

    ça ne serait pas plus simple d'utiliser la STL et les conteneurs déjà tout faits ? genre vector ...
    toutes les méthodes pour obtenir une liste ou bien un élément précis sont déjà implémentées.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 113
    Points : 41
    Points
    41
    Par défaut
    :-)

    Et bien je vois pas du tout ce que tu veux dire. Je peux pas retourner un tableau de pointeur depuis une fonction ?

    Pour le reste, je ne connais quasiment rien des lib. Je prefere de toute facon comprendre comment faire :-)

  4. #4
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164
    Par défaut
    Citation Envoyé par seal3
    Mais biensur cela ne marche pas.
    tu peux préciser ce qui ne marche pas ?

    Citation Envoyé par seal3
    Je peux pas retourner un tableau de pointeur depuis une fonction ?
    si si, tu peux

    si tu veux absolument utiliser les pointeurs et non pas les conteneurs tout faits, c'est possible, mais (avec un grand M) tu laisses de côté l'un des grands avantages du c++ par rapport au c.

    L'un des soucis de ta méthode UserManager::getUserList() c'est qu'elle renvoie l'adresse d'un objet local, détruit à la fin de la méthode.
    la méthode à adopter serait donc de mettre la liste de pointeurs sur User en attribut de la classe UserManager, de manière à y avoir accès sans problème depuis n'importe quelle méthode de la classe. Ta méthode getUserList se résumerait donc à un simple accesseur d'attribut.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 113
    Points : 41
    Points
    41
    Par défaut
    Haa ok merci.


    Je pensais pouvoir passer un tableau en retour et en avoir une copie complete en sortie. Mais est-ce que cette copie contiens aussi les pointeurs avec la bonne adresse ?

    Oui je vois ce que tu veux dire, mais en fait j'ai vraiement besoin de retourner une liste car cette liste va dependre de certains parametres passé à la fonction getUserList(). Par exmple, un nom de groupe...

  6. #6
    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 : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    De toute façon nbUser n'est pas connu à la compilation (je suppose), donc tu devras quoiqu'il arrive créer un tableau dynamique.

    Tu devrais vraiment regarder du côté de std::vector.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 113
    Points : 41
    Points
    41
    Par défaut
    Bon ok, je vais voir ça.

    Merci.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 52
    Points : 34
    Points
    34
    Par défaut
    En effet tu ferais mieux d'utilisé un conteneur déja défini dans la STL tel std::vector car sinon avec un tableaux de pointeurs ca commence à aller dans toute les directions.

    Je crois que ca peut te simplifier la tâche énormément!

Discussions similaires

  1. tableau et pointeurs
    Par florantine dans le forum C++
    Réponses: 5
    Dernier message: 17/01/2006, 20h41
  2. Tableau de pointeur de fonction
    Par Gryzzly dans le forum C
    Réponses: 7
    Dernier message: 31/12/2005, 10h47
  3. Tableau de pointeurs sur objets
    Par bassim dans le forum C++
    Réponses: 11
    Dernier message: 13/12/2005, 19h45
  4. [GCC] Tableau de pointeurs pour accès multiples en asm
    Par Flo. dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 12/12/2005, 08h47
  5. Tableau de pointeurs de fonctions
    Par Alp dans le forum C++
    Réponses: 7
    Dernier message: 29/10/2005, 13h19

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