inline et pointeur sur fonction - C++ - Programmation
Marsh Posté le 21-05-2009 à 19:03:24
Glock 17Pro a écrit : hi, |
Effectivement, on ne peut pas inliner un pointeur sur fonction. Tu as conscience de ce que ca veut dire ?
Ensuite, tout dépend du contexte, pour trouver des solutions autres, mais en as-tu seulement vraiment besoin ?
Marsh Posté le 21-05-2009 à 19:10:57
inline, le compilo en fait ce qu'il veut de tte façon
Ensuite, encore une optimsiation prématurée ...
Sinon, PFO ou simple foncteur suffise pour manipuler des fonctions comme des objets de 1er ordres.
Marsh Posté le 21-05-2009 à 20:00:02
Joel F a écrit : inline, le compilo en fait ce qu'il veut de tte façon |
Il ne parle pas de la directive "inline" mais de inliner un pointeur sur fonction. Et on ne sait pas à quel niveau est son développement, donc comment sais-tu que c'est prématuré ? Peut-être qu'il est entrain d'optimiser un point critique de son programme qu'il a déjà fini et profilé.
Sinon le foncteur est la solution.
Code :
|
Le deuxième sort sera surement mieux inliné que le premier, mais ça reste à la discrétion du compilateur. Au pire tappe dans la directive __forceinline ou un truc comme ça si tu es sûr de ce que tu fais et que ton compilo est têtu.
Marsh Posté le 21-05-2009 à 20:02:43
jesus_christ a écrit : |
Tu peut parfaitement prendre un pointeur sur fonction inline, et selon des compilos, ca sera inliner si à la compil ou au link (avec des compilos LTO), le compilo retrouve ses petits.
Et dans ce cas, on retombe sur le probleme initial.
Quant à la prematuritée de la chose, c'ets mon 6e sens qui me le dit
Marsh Posté le 21-05-2009 à 20:12:37
jesus_christ a écrit :
|
voilà c'est précisement à ça que je voulais faire allusion
Marsh Posté le 21-05-2009 à 20:13:27
ok pour inline, je sais qu'on peut prendre un pointeur, il est même garanti unique, mais il me semble qu'il se préoccupe d'inlinig et pas de fonction inline, ce qui n'est pas exactement la même chose.
Pour ton 6e sens, pourquoi pas, mais il faut pas tomber dans l'extrème à dire que c'est toujours trop tôt pour optimiser, comme je l'ai souvent vu. La veille de la livraison du soft, là c'est trop tard .
edit : et en plus j'aurai du mettre l'operator() const
Marsh Posté le 21-05-2009 à 20:19:07
jesus_christ a écrit : |
Ouais j'ia tendance à mettre les 2 dans le meme sac.
jesus_christ a écrit : |
Je connais le gus c'est tout
jesus_christ a écrit : |
3 pater noster et 4 install de boost 1.39 pr pénitence
Marsh Posté le 21-05-2009 à 20:21:24
Joel F a écrit : |
Joel F a écrit : |
Là j(adhère à ton argument
Joel F a écrit : |
Non pas bjam, pas bjaaaaam
Marsh Posté le 21-05-2009 à 19:01:02
hi,
Il me semble que l'on ne peut pas inliner un pointeur sur fonction ?
existe t-il une alternative aux pointeurs sur fonctions,et qui permet l'inling ?
Merci