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 :

Réallocation C++ de tableaux new tab[n]


Sujet :

C++

  1. #1
    Membre régulier

    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Janvier 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 25
    Points : 93
    Points
    93
    Par défaut Réallocation C++ de tableaux new tab[n]
    Bonjour, j'ai un problème un peut épineux, mais qui doit être simple à résoudre.

    Je doit avoir un tableau dont la taille change après avoir été créé (je ne peut pas prédire sa taille avant...) il doit ètre de type (double)
    je l'ai donc fait avec des malloc et réalloc, mais le Réalloc plante très souvent sans raisons apparente, je me suis donc dit en C++ se serait peut ètre plus stable...
    Mais c'est quoi la fonction pour réalloc en c++???

    note : je ne suis pas sur qu'un vecteur fasse l'affaire (il me semble que c'est une liste chainé)

    Merci de vos réponses.....

  2. #2
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    bonsoir,

    en c++ on n'utilise pas les fonctions d'allocation (malloc, realloc, etc.), qui sont des fonctions C. En c++ on utlise des classes "conteneur" à la place des tableaux C-style (du type int tab[10] ou int* tab). Les classes conteneur s'occupent de tous les problèmes de gestion de la mémoire. Le conteneur de base est le vector, qui représente un simple tableau à 1 dimension.
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  3. #3
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    Le vector n'est pas une liste chainée, au contraire il t'assure la contiguité en mémoire. std::list est la liste chainée de la STL.
    Oublie tout ça et utilise la STL comme l'a dis r0d
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/11/2009, 13h33
  2. new tab canevas page
    Par spire dans le forum Designer
    Réponses: 0
    Dernier message: 15/04/2008, 14h56
  3. Allocation et réallocation dynamique de tableaux
    Par petitmic dans le forum C++
    Réponses: 4
    Dernier message: 14/03/2006, 14h59
  4. Réponses: 2
    Dernier message: 08/10/2005, 22h32

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