• [^] # Re: Comparatif Intel C++ 7.0 / Gcc 3.2.1

    Posté par (site web personnel) . En réponse à la dépêche Comparatif Intel C++ 7.0 / Gcc 3.2.1. Évalué à 2.

    dans le genre d'extension subtiles qui m'ont posés pb pour un projet c++, la comparaison des char*.
    j'avais ca :
    ------------

    private :
    static const struct lien {
    int num_commande ;

    //si je met un string ici, visual c++ et c++ builder
    //me jette avec un message abscons.
    //je vérifirai si cela est 'standard'
    char* commande ;
    }
    m_Correspondance[];

    ------------

    donc, sous gcc, c'etait pas un char*, mais un string.
    et en mettant char*, les comparaisons marchaient encore.
    mais c'est pas le standard.
    et le projet était a rendre sous c++ builder, qui lui se contente de comparer les pointeurs... et gcc compare les chaines pointés, c'est completement differents.

    y aussi des bugs dans c++ builder, et sous visual c++, qui empeche de compiler quand il y a une initialisation d'un membre constant statique :

    static const int COIN = 42;

    ben ca passe pas ( visual ) et c'est standard...

    pour builder, c'est le contraire, je croit .
    c'est a dire que c'est initialiser la constante a part qui marche pas...
    je suis pas sur, j'ai pas de builder a porté de main.

    pour reference, c'etait dans un article de frederic mazué, un test de c++ builder dans Programmez! que j'ai trouvé la premiere fois ca.

    et maintenant dés que mon code compile pas, je sais que c'est un bug dans le compilo ;)