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 :

quel est la difference ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut quel est la difference ?
    Bonjour,

    quel est la difference entre
    type a = (type) b
    et
    type a = type(b)

    ou a et b sont de type different de la famille int, char, float, double, unsigned int ...

    ?????

    suivant les types de a et b, type a = (type) b met une valeur fausse dans a !!!!
    je pensez que c'etait la même chose

  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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    (type)b est un transtypage de type C de b en type. A bannir en C++ :
    http://c.developpez.com/faq/cpp/?pag...s#DIVERS_casts

    type(b) est la construction d'un objet temporaire type à partir de b. Cela a donc le même effet dans certains cas, mais pas tous.

  3. #3
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    ok merci.
    Du coup quel est la meilleur façon?
    faut obligatoirement utilisé des static/dynamic cast pour les types primitifs??

  4. #4
    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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Du coup quel est la meilleur façon?
    faut obligatoirement utilisé des static/dynamic cast pour les types primitifs??
    Pas que pour les types primitifs. Il est fortement conseillé d'utiliser les opérateurs de cast C++ pour n'importe quel transtypage.

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    du coup pour tout les opérations avec de type différent, il faut les casté?


    exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int a = 10;
    unsigned char b = 255;
    float c = static_cast<float>(b)/static_cast<float>(a)

  6. #6
    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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Oui. Enfin dans ce cas là il suffit qu'une opérande soit de type float, pas la peine de convertir les deux.

    Et dans les cas oû la conversion est sûre (aucun risque de perte d'information), la conversion pourra se faire implicitement sans avertissement du compilo.

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

Discussions similaires

  1. quel est la difference entre merise et uml
    Par mghari11 dans le forum Modélisation
    Réponses: 1
    Dernier message: 07/05/2011, 19h41
  2. Quel est La difference Entre Module Standard Et Module Classe
    Par r.mehdi dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/06/2008, 12h39
  3. Quel est la difference?
    Par yan dans le forum C++
    Réponses: 17
    Dernier message: 16/01/2008, 09h58
  4. Jboss et Jboss Seam quel est la difference ?
    Par ambhcie dans le forum Seam
    Réponses: 6
    Dernier message: 02/08/2007, 12h36
  5. Quel est la différence entre SUSE et mandrake
    Par pierrot10 dans le forum Distributions
    Réponses: 9
    Dernier message: 04/06/2006, 19h01

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