Hello,
Je vous présente brièvement un débat que j'ai avec un collègue, pour espérer avoir raison je me fie à vous dans vos commentaires par la suite
Je m'explique : je travaille actuellement sur un projet embarqué, un oscilloscope sur une base ARM9 (processeur à 200 MHz), 32 Mo de RAM tout ça tout ça. Bref, c'est fait en C++ pour la partie "user", le noyau étant un truc fait maison basé sur eCos et en C.
Dans mon projet, je m'efforce toujours de me remettre en question et d'utiliser les capacités du C++ pour le design et l'architecture. Je trouve que mes collègues considèrent trop que le C++ est du C avec des classes (cf. ), ils ne font que du C-style cast alors que le C++ en a introduit d'autres (http://cpp.developpez.com/faq/cpp/in...s#DIVERS_casts), il y a encore plein d'exemples comme ça ! Un jour, je regarde un peu leur code et je vois que ils ont des macros pour trouver le minimum ou le maximum de deux paramètres. Moi, je change ça en utilisant des templates (cf. http://cpp.developpez.com/faq/cpp/in...#TEMPLATES_def). Et c'est là qu'un collègue vient me dire que les templates en embarqué c'est pas bien et il n'est pas foutu de me justifier pourquoi, je lui dis que non, ça change rien, le compilateur va réécrire les fonctions templates avec les types précisés et basta, un peu comme si je l'avais fait moi-même. Sauf que voilà, il maintient que c'est pas bien. Etant donné que j'ai bien moins d'expérience que lui, je me dis que éventuellement il peut avoir une part de raison. Moi je tente de lui dire que si c'était pas bien ... on ne serait pas cassé le c*l à faire une STL par exemple, que les performances sont identiques, et que dans mon cas, ma fonction template qui de plus est inlinée (pour trouver un min ou un max) est pas mois performante que sa vieille macro !
Je m'en remets donc à vous pour statuer sur ses allégations : en quoi les templates ne sont pas bons ?
Partager