• [^] # Re: léger HS: coquille sur C++ (et C++!=C)

    Posté par . En réponse au journal Un décalage de 64 bits, ça vous inspire comment ?. Évalué à 4. Dernière modification le 15 mai 2017 à 15:53.

    En fait, en C tu peux faire :

    (Type *) ==> void *
    et (void *) ==> (Type *)

    alors qu’en C++
    Tu peux faire (Type *) ==> void *
    mais il faut un cast explicite pour faire (void *) ==> (Type *).

    le prototype de malloc étant :

    void *malloc(size_t);

    C’est bien un cast de void * ==> vers un autre type.

    J’ai toujours pensé que ça vient de l’héritage :

    class Mere;
    class Fille:public Mere;
    // Alors
    Fille *fille;
    Mere *maman = fille; // Ok
    fille = maman; // Ko

    Si on considère que tous les types dérives de void alors ça a du sens.