|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||||
|
Membre expérimenté
![]() |
Bonjour à tous,
J'ai deux enums comme ceci : Code :
Code :
Code :
Pour le moment, je ne vois qu'une solution, mais pas mal contraignante, qui serait de répertorier toutes les associations possibles : Code :
Code :
A bientôt
__________________
"Heureusement qu'il y avait mon nez, sinon je l'aurais pris en pleine gueule" Walter Spanghero |
||||||||||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Junior developer C/C++/Embedded system Inscription : juin 2010 Messages : 656 ![]() |
Bonjour,
pourquoi ne pas utiliser un simple tableau ? Code :
|
||
|
|
00
|
|
|
#3 | ||
|
Membre expérimenté
![]() Léo GaspardLycéen Inscription : janvier 2012 Messages : 342 ![]() |
Les templates sont évaluées à la compilation, le for à l'exécution.
Mais il est possible de passer outre : https://github.com/Ekleog/misc/blob/master/tplfor.cpp Code :
|
||
|
|
00
|
|
|
#4 | |
|
Membre expérimenté
![]() |
Citation:
En revanche, le test de "if (CColRowHelper<Col, Row>::activated)" à la ligne 41 qui est définit dans le foncteur, serait-il possible de le déplacer dans l'enchaînement des templates ? Etant donné que c'est connu à la compilation, autant le gérer à la compilation non ? C'est pas grand chose mais ce test va être exécuté des milliards de fois, alors j'imagine que ça aura un bon impact se l'ensemble.. Merci encore
__________________
"Heureusement qu'il y avait mon nez, sinon je l'aurais pris en pleine gueule" Walter Spanghero |
|
|
|
00
|
|
|
#5 | ||||||||
|
Membre expérimenté
![]() Léo GaspardLycéen Inscription : janvier 2012 Messages : 342 ![]() |
Même exécuté des milliards de fois, un compilateur sera toujours assez intelligent pour optimiser ... Parce qu'un if(1) goto a; else goto b; ce n'est pas trop dur à optimiser, hein. Surtout vu qu'il n'y a même pas de else !
Enfin, sauf peut-être si tu donnes -O0 ! EDIT : Petit test (en C pour rendre l'assembleur plus compréhensible, mais c'est tout pareil en C++) avec -O[0, 1, 2, 3] : Code :
D'abord, une remarque : -O2 et -O3 donnent les mêmes résultats. Maintenant, le désassemblage (je ne me préoccupe que du main) : Code :
Code :
Code :
Donc, même avec -O0, l'optimisation se fait ! |
||||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com