Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2153 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  inline et pointeur sur fonction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

inline et pointeur sur fonction

n°1886862
Glock 17Pr​o
Posté le 21-05-2009 à 19:01:02  profilanswer
 

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

mood
Publicité
Posté le 21-05-2009 à 19:01:02  profilanswer
 

n°1886863
theshockwa​ve
I work at a firm named Koslow
Posté le 21-05-2009 à 19:03:24  profilanswer
 

Glock 17Pro a écrit :

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


 
 [:pingouino]  
 
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 ?


---------------
last.fm
n°1886865
Joel F
Real men use unique_ptr
Posté le 21-05-2009 à 19:10:57  profilanswer
 

inline, le compilo en fait ce qu'il veut de tte façon :o
Ensuite, encore une optimsiation prématurée ...

 

Sinon, PFO ou simple foncteur suffise pour manipuler des fonctions comme des objets de 1er ordres.

Message cité 1 fois
Message édité par Joel F le 21-05-2009 à 19:11:20
n°1886878
jesus_chri​st
votre nouveau dieu
Posté le 21-05-2009 à 20:00:02  profilanswer
 

Joel F a écrit :

inline, le compilo en fait ce qu'il veut de tte façon :o
Ensuite, encore une optimsiation prématurée ...
Sinon, PFO ou simple foncteur suffise pour manipuler des fonctions comme des objets de 1er ordres.


 
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 :
  1. bool less( int a, int b ) { return a < b; }
  2. struct Less
  3. {
  4.     bool operator()( int a, int b ) { return a < b; }
  5. };
  6. int* p = ..., *q = ...;
  7. std::sort( p, q, less );
  8. std::sort( p, q, Less() );


 
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.

n°1886879
Joel F
Real men use unique_ptr
Posté le 21-05-2009 à 20:02:43  profilanswer
 

jesus_christ a écrit :


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é.


 
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 :o

n°1886884
Glock 17Pr​o
Posté le 21-05-2009 à 20:12:37  profilanswer
 

jesus_christ a écrit :


 
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 :
  1. bool less( int a, int b ) { return a < b; }
  2. struct Less
  3. {
  4.     bool operator()( int a, int b ) { return a < b; }
  5. };
  6. int* p = ..., *q = ...;
  7. std::sort( p, q, less );
  8. std::sort( p, q, Less() );


 
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.


 
voilà c'est précisement à ça que je voulais faire allusion


Message édité par Glock 17Pro le 21-05-2009 à 20:12:52
n°1886885
jesus_chri​st
votre nouveau dieu
Posté le 21-05-2009 à 20:13:27  profilanswer
 

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 :p.
 
edit : et en plus j'aurai du mettre l'operator() const :D

Message cité 1 fois
Message édité par jesus_christ le 21-05-2009 à 20:15:42
n°1886886
Joel F
Real men use unique_ptr
Posté le 21-05-2009 à 20:19:07  profilanswer
 

jesus_christ a écrit :


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.


Ouais j'ia tendance à mettre les 2 dans le meme sac.
 

jesus_christ a écrit :


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 :p.


Je connais le gus c'est tout :o
 

jesus_christ a écrit :


edit : et en plus j'aurai du mettre l'operator() const :D


3 pater noster et 4 install de boost 1.39 pr pénitence

n°1886887
jesus_chri​st
votre nouveau dieu
Posté le 21-05-2009 à 20:21:24  profilanswer
 

Joel F a écrit :


Ouais j'ia tendance à mettre les 2 dans le meme sac.


 :na:  
 

Joel F a écrit :


Je connais le gus c'est tout :o


Là j(adhère à ton argument  :jap:
 

Joel F a écrit :


3 pater noster et 4 install de boost 1.39 pr pénitence


Non pas bjam, pas bjaaaaam :cry:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  inline et pointeur sur fonction

 

Sujets relatifs
fonction exit et CSSAcceder à un tableau via une seule variable via un pointeur?
Scheme : fonction intersectionerreur dans ma fonction
[GTK+] Ajouter un boutton a une fenetre grace à une fonctionFonction substring dans un swf
pointeur vs reference en retour de fonctionApelle de la fonction Click de composant crée ou cour de l'execution
[Newbie] utilisation de fscanf et retour fonction 
Plus de sujets relatifs à : inline et pointeur sur fonction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR