Possible que le compilateur, pendant ça phase d'optimisation, va regarder dans quoi tu stocke le résultat et caster comme il le faut.
Possible que le compilateur, pendant ça phase d'optimisation, va regarder dans quoi tu stocke le résultat et caster comme il le faut.
ben si je fais float+1.0 c'est clairement pour convertir le float en double, donc j'espere que le compilateur fait ce qu'on lui demande de faire...
bref... de toute facon ya que le resultat qui compte
un modulo d'une puissance de deux est optimisé par les compilateurs avec des masques binaires. donc %4 n'est pas plus lent que if.
de plus, 'if' casse le pipeline, et prend une place dans la table de prediction de branchements. un modulo embête moins le processeur.
et il ne sert a rien d'affirmer quoi que ce soit de présomptueux sans regarder le resultat dans un profiler, et le code assembleur.
donc au lieu de chipoter il vaut mieux penser a ne pas faire de bugs déjà.
mon seul point de critique dans le code repose sur m_board qui est un tableau quadratique sur la pile. attention aux limites de pile, tres... limitées.
sinon, utiliser un boost::array de boost::array aurait été plus gentil pour la detection des débordements. (std::array en C++11)
oh non!... un ingénieur... on s'amusait bien...
Je saute juste sur ceci:
Donc attention à l'utilisation de l'underscore au début du nom d'une variableEnvoyé par stdcpp 17.4.3.1.2 Global names
Sinon pour répondre à l'OP:
Code lisible et clair en soi, c'est déjà bien.
Par contre, comme il a déjà été dit: utilisation de pointeurs nus, c'est mal.
Le fait est que c'est un projet tellement petit qu'on ne peut pas dire grand chose sur la structure / le design.
Bonne chance pour ton prochain jeu![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager