
Envoyé par
jo_link_noir
Pour les contrats, il n'y en a pas besoin puisqu'on ne peut pas utiliser un générique sans spécifier un trait qui définit son interface. Par contre, la généricité à un certain nombre de limitation comme pas de spécialisation (si on se débrouille bien, le compilateur pointe l'issue ouverte depuis 7 ans) ou pas d'opération avec des constantes (pas possible de faire array</*Len*/10>::drop_last</*N*/3> -> array</*Len-N*/7> à cause de la soustraction). On peut plus ou moins contourner ou faire différemment, mais c'est ce qui m'a le plus embêté sur le petit projet que j'avais.
Pour la vérification statique, il n'y en a pas moins qu'en C++ et le langage ne se traîne pas les casseroles du C.
Partager