Partage
  • Partager sur Facebook
  • Partager sur Twitter

modifier la taille d'un tableau dynamique

Y a-t-il une "realloc" en C++ ?

    31 mars 2008 à 2:46:45

    soit :
    1. for (int i=0; i< n; i++)
    2.  {
    3.   int *t = new int[i];    // la taille se modifie
    4.   t[i] = 1;
    5.   }


    je ne sais pas est ce le syntaxe est tout à fait juste ?

    Ce que je veux c'est la taille du tableau t se modifie à chaque fois ! (c'est un peu près comme la fonction "realloc" en C.
    • Partager sur Facebook
    • Partager sur Twitter
      31 mars 2008 à 2:54:43

      delete l'ancienne avant de new.
      • Partager sur Facebook
      • Partager sur Twitter
        31 mars 2008 à 3:15:22

        Citation : willish


        delete l'ancienne avant le new


        Y a-t-il pas un risque de perdre l'information ? :o
        • Partager sur Facebook
        • Partager sur Twitter
          31 mars 2008 à 6:21:28

          Si : il est donc nécessaire de la sauvegarder auparavant.
          Par contre, pour ton extrait de code, je tenterais plutot ceci :
          1. // Considerons un vieux tableau, avec t éléments.
          2. // On veut un nouveau tableau avec n éléments.
          3. int * nouveau_tab = new int[ n ]; // Allocation du nouveau tableau
          4. for (int i = 0; i < t; ++i)
          5.     nouveau_tab[i] = vieux_tab[i]; // Copie des items précédents.
          6. // Si je ne me trompe pas, le new va initialiser les entiers du tableau à 0
          7. // (si jamais n > t)
          8. delete [] vieux_tab; // Suppression de l'ancien tableau.

          • Partager sur Facebook
          • Partager sur Twitter
            31 mars 2008 à 7:21:06

            Utilise des std::vector sinon...
            • Partager sur Facebook
            • Partager sur Twitter
              31 mars 2008 à 10:01:33

              Oui. std::vector si on veut du realloc en C++.
              • Partager sur Facebook
              • Partager sur Twitter
              C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
                31 mars 2008 à 20:44:35

                Citation : ornithorynx


                Utilise des std::vector sinon...


                Bon, on est d'accord de travailler avec "std::vector", mais
                son syntaxe est quoi ?

                ça sera mieux de donner un exemple d'utilisation ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  31 mars 2008 à 20:47:41

                  cplusplus.com pour une référence certes non-complète, mais simple.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
                    31 mars 2008 à 21:02:15

                    ou la FAQ de developpez pour un exemple
                    • Partager sur Facebook
                    • Partager sur Twitter
                      31 mars 2008 à 21:41:46

                      Sinon il y en a au moins une centaine d'exemples si tu cherche un peu sur le forum!
                      • Partager sur Facebook
                      • Partager sur Twitter
                        1 avril 2008 à 0:04:44

                        un tableau qui change a chaque fois est realisables grace au listes chainees ( en C ) . en c++ il me semble quil ya un header qui gere sa dans la STL .
                        • Partager sur Facebook
                        • Partager sur Twitter
                          1 avril 2008 à 6:13:23

                          sinon va voir le TP sur Zstring de m@theo.
                          qui va t'apprendre a creer un objet Zstring qui realllou la memoire en fonction des besoins.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            1 avril 2008 à 9:03:10

                            Il y a encore un peu de chemin avant de distinguer capacité et taille.
                            • Partager sur Facebook
                            • Partager sur Twitter
                            C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
                              1 avril 2008 à 13:10:34

                              Citation : danman


                              sinon va voir le TP sur Zstring de m@theo.
                              qui va t'apprendre a creer un objet Zstring qui realllou la memoire en fonction des besoins.


                              bonne idée comme même !
                              • Partager sur Facebook
                              • Partager sur Twitter

                              modifier la taille d'un tableau dynamique

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown