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

Langage C++ Discussion :

Allocation de tableaux de longueur nulle


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par défaut Allocation de tableaux de longueur nulle
    Bonjour,

    j'aimerais savoir ce qui se passe lorsqu'on a un pointeur (disons int*ptr) et que l'on fait
    ptr = new int[0];?
    Je m'attendais a priori à ce que ptr soit égal à NULL mais après vérification ce n'est pas le cas.

    Merci!

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Par défaut
    Ca t'alloue un tableau avec 0 élément. Et si c'est négative le comportement n'est pas définie.

  3. #3
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par défaut
    Un tableau de 0 éléments???
    Et vers quelle adresse pointe ptr alors?

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par Aleph69 Voir le message
    Un tableau de 0 éléments???
    Et vers quelle adresse pointe ptr alors?
    Vers une adresse que t'a réservé l'O.S. Cette adresse est valide comme celle obtenue par une autre allocation valide. Seulement, tu ne peux déréférencer l'adresse puisque la valeur ne t'appartient pas

  5. #5
    Membre Expert
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Vers une adresse que t'a réservé l'O.S. Cette adresse est valide comme celle obtenue par une autre allocation valide. Seulement, tu ne peux déréférencer l'adresse puisque la valeur ne t'appartient pas
    et le delete ne pose pas problème ?

  6. #6
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par défaut
    et le delete ne pose pas problème ?
    Je me pose la même question.
    J'ai testé delete[] ptr après ptr=new int[0] et je n'ai d'erreur ni à la compilation ni à l'exécution. Après, est-ce que le boulot a bien été fait...

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

Discussions similaires

  1. allocation de tableaux !
    Par Nulysses dans le forum Fortran
    Réponses: 2
    Dernier message: 16/11/2009, 10h58
  2. Réponses: 2
    Dernier message: 22/05/2007, 18h23
  3. [Tableaux] Insérer des NULL dans une table
    Par jerem_orga dans le forum Langage
    Réponses: 5
    Dernier message: 03/01/2007, 17h22
  4. [VB6 et ORACLE] identificateur de longueur nulle interdit
    Par tim69000 dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 10/04/2006, 11h33
  5. [Oracle] identificateur de longueur nulle interdit - help me
    Par gregb dans le forum Bases de données
    Réponses: 1
    Dernier message: 03/07/2005, 18h35

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