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 :

Sémantique des casts


Sujet :

Langage C++

  1. #1
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut Sémantique des casts
    Bonjour à tous

    y a-t-il une différence entre

    et

    ?
    Find me on github

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Non, les deux correspondent à un cast C-style (donc, à bannir dans bien des cas).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Sûr que les casts, c'est jamais très beau. J'utilise en général la deuxième syntaxe et là je maintiens du code qui utilise la première, je me demandais s'il y avait un sens différent.

    Merci pour la réponse !
    Find me on github

  4. #4
    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
    Non il voulait dire que si cast tu dois faire alors il faut utiliser les casts C++.

    ie :

    static_cast<>
    dynamic_cast<>

    etc.
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

  5. #5
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Effectivement je ne m'étais jamais intéressé à cette problématique de l'utilisation des static/dynamic cast. C'est toujours bon à connaître...
    Find me on github

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Et reinterpret_cast<> qui peut être utile dans certains cas.

    Tout est bon pour éviter qu'un const_cast<> ne soit pas immédiatement visible (ce qui est pour moi, le principal danger des casts C-style: Je suis très à cheval sur la const-correctness).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    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
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par jblecanard Voir le message
    Effectivement je ne m'étais jamais intéressé à cette problématique de l'utilisation des static/dynamic cast. C'est toujours bon à connaître...
    Bonjour,
    Ca va plus loin que le static/dynamic cast. Le C++ offre les opérateurs pour tous les casts dont tu as besoin de façon à éviter le cast à la C. Cette entrée de la FAQ aborde le sujet. Cependant, l'utilisation d'un cast (et en particulier le down casting ou le const cast) doit se faire poser la question de sa conception.

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

Discussions similaires

  1. Probleme de comprehension des cast!
    Par ville_de_lumiere dans le forum Général Java
    Réponses: 5
    Dernier message: 23/05/2014, 01h39
  2. [Sesame] Annotation sémantique des patrons de logiciel sur la plateforme UIMA
    Par boukachouchane dans le forum Frameworks
    Réponses: 2
    Dernier message: 17/04/2013, 15h08
  3. problème avec des cast
    Par deubelte dans le forum C++
    Réponses: 3
    Dernier message: 26/02/2007, 18h11
  4. performance des 'cast'
    Par me_myself dans le forum C++
    Réponses: 27
    Dernier message: 06/12/2006, 15h49
  5. [Etat-Transition] Sémantique des instructions entry, exit, on et do
    Par nikles007 dans le forum Autres Diagrammes
    Réponses: 4
    Dernier message: 10/10/2006, 18h32

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