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 :

question sur l'allocation dynamique


Sujet :

C++

  1. #1
    Nouveau membre du Club Avatar de velociraptor5679
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Points : 39
    Points
    39
    Par défaut question sur l'allocation dynamique
    Bonjour,

    Je débute en C++...
    J'ai créé un tableau de 8 ints :
    J'aimerais pouvoir, par la suite, ajouter une case à mon tableau "tab" ci-dessus.

    1) Est-ce possible ?
    2) Si oui, comment fait-on ?

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Ce n'est pas possible, en fait. Il faut allouer un nouveau bloc, plus grand, et recopier les éléments. Ce que fait realloc() en C, en fait. C'est pas disponible en C++ avec new ce genre de bestiaux, à ma connaissance.
    Le plus simple est donc d'utiliser les vector

  3. #3
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Points : 283
    Points
    283
    Par défaut
    On ne peut pas rajouter une "case", c'est comme un tableau normal !

    EDIT : trop tard...

  4. #4
    Nouveau membre du Club Avatar de velociraptor5679
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Points : 39
    Points
    39
    Par défaut
    Citation Envoyé par Miles
    Ce n'est pas possible, en fait. Il faut allouer un nouveau bloc, plus grand, et recopier les éléments. Ce que fait realloc() en C, en fait. C'est pas disponible en C++ avec new ce genre de bestiaux, à ma connaissance.
    Le plus simple est donc d'utiliser les vector
    Qu'est-ceu queu c'est queu ça ?

  5. #5
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Points : 283
    Points
    283
    Par défaut
    C'est un composant (classe) de la STL : http://c.developpez.com/faq/cpp/?page=STL

  6. #6
    Nouveau membre du Club Avatar de velociraptor5679
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Points : 39
    Points
    39
    Par défaut
    Citation Envoyé par Tipoun
    C'est un composant (classe) de la STL : http://c.developpez.com/faq/cpp/?page=STL
    Ah, je vois... encore une bibliothèque !

    Merci de ta réponse, j'ai réussi !

  7. #7
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Points : 283
    Points
    283
    Par défaut
    C'est la bibliothèque standard du C++

  8. #8
    Nouveau membre du Club Avatar de velociraptor5679
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Points : 39
    Points
    39
    Par défaut
    c'est une bibliothèque quand même !

  9. #9
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Sauf qu'il n'y a rien à faire pour l'installer, elle est fournie avec le compilateur, alors pourquoi se priver de ces conteneurs qui ont fait leurs preuves ?

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Points : 20
    Points
    20
    Par défaut
    Sinon, si tu veux vraiment pouvoir ajouter des cases, créé des listes chainées, c'est une suite de cellules contenant à la fois la donnée et l'adresse de cellule suivante, c'est souvent très pratique, tu trouveras plus d'informations ici :

    http://chgi.developpez.com/pile/


    Par ailleurs, d'autres principes algorithmiques sont encore plus utiles tels que les arbres mais là, je m'égare…

  11. #11
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    On est en C++, les listes chaînées, c'est déjà tout fait. Ca s'appelle std::list. Vive la STL et ses conteneurs

  12. #12
    Nouveau membre du Club Avatar de velociraptor5679
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 64
    Points : 39
    Points
    39
    Par défaut
    de toute façon, avec C++ on peut tout faire

  13. #13
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    En C aussi, ce n'est pas la question. Ce qui est dommage, c'est qu'on passe notre temps à refaire ce que les autres ont déjà fait, vérifié, optimisé et qu'on a au bout de son doigt.

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

Discussions similaires

  1. [malloc] questions sur l'allocation dynamique
    Par dahtah dans le forum POSIX
    Réponses: 4
    Dernier message: 21/10/2011, 01h24
  2. [DEBUTANT]Question sur la Gestion Dynamique
    Par IDE dans le forum Débuter
    Réponses: 7
    Dernier message: 06/11/2007, 01h07
  3. Question sur les bibliothques dynamiques
    Par inh40 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 11/04/2007, 15h16
  4. Réponses: 7
    Dernier message: 10/01/2007, 00h37
  5. Question sur l'allocation de mémoire
    Par Fonzy007 dans le forum Linux
    Réponses: 8
    Dernier message: 26/12/2006, 09h29

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