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 :

Parcour d un tableau dynamique


Sujet :

C++

  1. #1
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut Parcour d un tableau dynamique
    bonjour

    j aimerais savoir comment parcourir un tableau dynamique defini comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     string *pointeurNom     = new string [10];
    comment trouver sa taille a un moment donner ???

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tu doit conserver toi meme le nombre d'elements alloues dans un array dynamique si tu veux l'utiliser plus tart.

  3. #3
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut
    il nexiste pas de methode du genre capacity que l on peux lui appliquer

    si la reponse est non pouvait on le faire s il etait dynamique

  4. #4
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut
    oups je voulais dire pouvais t on le faire s il etais statique

  5. #5
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    il nexiste pas de methode du genre capacity que l on peux lui appliquer
    Il n'existe pas de methode "capacity" car un tableau dynamique n'est en fait qu'un pointeur sur le premier élément du tableau.

    Par contre au lieu d'utiliser des tableaux dynamiques utilise plutot des vecteurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    vector<string> pointeurnom;
    ou vector<string*> pointeurnom;
    et tu auras des methodes qui te donneront le nombre d'objets du vecteur et donc tu pourras faire une fonction "capacity" facilement.
    http://c.developpez.com/faq/cpp/?page=STL#STL_vector


    Et n'oublie pas de rechercher sur le forum avant de poster :
    http://www.developpez.net/forums/viewtopic.php?t=345679

  6. #6
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut
    mais moi je veux limiter la taille de mon tableau a 10 element
    c est possible de le faire avec un vecteur

  7. #7
    Membre confirmé Avatar de hamster
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 137
    Par défaut
    Citation Envoyé par harris_macken
    mais moi je veux limiter la taille de mon tableau a 10 element
    c est possible de le faire avec un vecteur
    ben alors pourquoi t'embetes-tu avec un tableau dynamique ??
    utilise simplement un tableau statique de 10 éléments, même si tu ne le remplis pas completement par la suite. Pour un si petit tableau, ce n'est pas grave

  8. #8
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    Oui biensur que tu peux.
    Faut juste faire une verif sur la taille du vecteur avant d'ajouter un nouvel élément.

    Par exemple tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    vector<string*> vecteur_string;
    if (vecteur_string.size() < 10)
       vecteur_string.push_back("un element");
    Avant chaque ajout dans le vecteur, tu vérifies que tu as encore de la place dans ton vecteur.

  9. #9
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    Citation Envoyé par hamster
    Citation Envoyé par harris_macken
    mais moi je veux limiter la taille de mon tableau a 10 element
    c est possible de le faire avec un vecteur
    ben alors pourquoi t'embetes-tu avec un tableau dynamique ??
    utilise simplement un tableau statique de 10 éléments, même si tu ne le remplis pas completement par la suite. Pour un si petit tableau, ce n'est pas grave
    j'allais le dire tu m'as devancé hamster

  10. #10
    Membre confirmé Avatar de hamster
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 137
    Par défaut
    grillé

  11. #11
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut
    c est tout a fait vrai

    merci

  12. #12
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 287
    Par défaut
    Citation Envoyé par niglo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    vector<string*> vecteur_string;
    [....]
       vecteur_string.push_back("un element");

    Deux remarques, liées.
    - Ca ne compilera pas. Il n'existe rien qui convertisse implicitement un char const[] en std::string*.
    - Les chaines C++ ont une sémantique de valeur. C'est fait pour être utilisé. Pas pour être balayé par la réintroduction du pointeur que l'on avait fait exprès de cacher.
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::vector<std::string>
    Sans étoiles. Jamais d'étoile. Si on pense en avoir besoin, il y a de fortes chances que cela soit d'autre chose que l'on ait en fait besoin.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  13. #13
    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
    Pour des vecteurs de taille fixe (!= de taille limitée à un max), il peut être intéressant de ne pas utiliser vector qui fait de l'allocation dynamique inutile dans ce cas. boost::array (www.boost.org) propose une classe avec une syntaxe à la vector, mais une taille fixe passée en argument template.
    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.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/03/2015, 18h31
  2. récupérer la memoire et tableau dynamique
    Par Guigui_ dans le forum Langage
    Réponses: 6
    Dernier message: 06/01/2003, 08h02
  3. AFFICHER UN TABLEAU DYNAMIQUE
    Par ghassenus dans le forum Langage
    Réponses: 2
    Dernier message: 28/12/2002, 14h19
  4. [Kylix] tableau dynamique
    Par sdoura2 dans le forum EDI
    Réponses: 1
    Dernier message: 31/10/2002, 08h57
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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