cyrilleberger a écrit 2 commentaires

  • [^] # Re: Présence dans Debian

    Posté par  . En réponse à la dépêche Mesa 9.1 est sorti. Évalué à 1.

    Bin moi ça m'arrivais facile une à deux fois par mois, du coup, ça reste quand même le gros point noire d'une distribution autrement excellente. Après tout est question d'usage.

  • [^] # Re: Le langage D est-il choisi lorsqu'on ne sait pas avec quoi coder ?

    Posté par  . En réponse à la dépêche Le langage D. Évalué à 1.

    Sauf que const est aussi transitif en C++ pour les types composites.

    Avec gcc, le code suivant renvoi une erreur:

    struct A
    {
      A() : a(0) {}
      int a;
    };
    
    int main(int argc, char** argv)
    {
      const A a;
      a.a = 1;
    }
    
    

    Par contre avec const int **p, en D tout est constant p, *p, **p, et c'est pas le cas en C++, et tant mieux. C'est quand même vachement pratique de pouvoir maintenir des listes de pointeurs vers des tableaux de constantes. Et si on veut que p, *p, **p soient constant, on écrit ça:

    const int* const* const p;
    
    

    C'est un peu lourd, mais ça a le mérite d'être claire.

    Après pour ce qui est d'être thread-safe, j'ai l'impression que la seule raison pour qu'immutable soit plus sûr est l'impossibilité de faire un const_cast (ou plutot immutable_cast). Mais si on utilise pas const_cast, je vois pas en quoi le const de C++ est moins thread-safe que le immutable de D.