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 :

Valeur par défaut d'un attribut de type pointeur


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 42
    Points : 44
    Points
    44
    Par défaut Valeur par défaut d'un attribut de type pointeur
    Bonjour à tous,

    j'ai un petit projet de portage et j'aurais besoin d'une précision car certains algotithmes m'intriguent. J'aimerais simplement savoir si la valeur par défaut d'un pointeur, qui est lui même attribut d'une classe, est forcément NULL ?
    Si c'est effectivement le cas, qu'est ce qui le garantie : une norme C++ ? les compilateurs ?

    Merci d'avance pour cette précision

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Rien n'est garanti. La seule chose dont tu peux être sûr, c'est qu'en te fiant à la valeur par défaut tu peux chopper un comportement indéterminé.

    Donc, mets systématiquement tes pointeurs à NULL.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 109
    Points : 121
    Points
    121
    Par défaut
    Si tu n'initialises pas tes pointeurs - et c'est valable aussi pour des données membres (c'est grâce à ça que j'ai compris qu'il y a vait un pointeur sur eux ) - tu t'exposes à de sacrées surprises.

  4. #4
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    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 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Je me demande si ce n'est pas seulement valable pour les types POD. Les objets étant tojours implicitement initialisés avec leur constructeur par défaut (si présent et non interdit).
    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...

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

Discussions similaires

  1. [JAXB]Comment faire apparaitre dans le xsd une valeur par défaut pour un attribut
    Par Marcos Ickx dans le forum Persistance des données
    Réponses: 0
    Dernier message: 07/01/2010, 18h38
  2. Valeur par défaut d'un attribut
    Par alt3 dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 22/05/2008, 14h07
  3. valeur par défaut d'une attribut date
    Par didi dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 10/08/2007, 16h11
  4. Réponses: 3
    Dernier message: 13/12/2006, 09h19
  5. Réponses: 2
    Dernier message: 18/10/2003, 14h42

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