précision: template et inline

précision: template et inline - C++ - Programmation

Marsh Posté le 27-12-2008 à 20:56:55    

Hi,
 
Le contexte: Soit une class templater, et une fonction template appartenant à cette classe déclarée inline.
 
Comment le compilateur de manière générale, traite cette fonction:  
 
le préprocesseur, applique le paramètre template, puis ensuite dans un second temps gère l'inline ?
 
Merci


Message édité par frenchtoucco le 27-12-2008 à 21:36:56
Reply

Marsh Posté le 27-12-2008 à 20:56:55   

Reply

Marsh Posté le 27-12-2008 à 21:26:03    

Le code template est spécialisé à la compilation ... Les fonctions virtuelles sont "gérées" à l'exécution. Les deux procédés n'ont pas grand chose à voir ... Quelle est ta crainte ?


---------------
last.fm
Reply

Marsh Posté le 27-12-2008 à 21:27:51    

oui erreur de ma part je voulais parler de inline et non virtual

TOPIC EDITE


Message édité par frenchtoucco le 27-12-2008 à 21:37:57
Reply

Marsh Posté le 28-12-2008 à 00:04:17    

le préprocesseur n'intervient pas.
inline est indice, pas une véritable oglibation. A la compilation, le template est instanciée et est inliné ce qui peut l'être selon les heuristiques du compilateur. template != d'inline. Tu peux tout à fait avoir la définition d'un template dans une unité de compilation différente, i.e. avoir un template déjà instancié ailleurs. Dans ce cas là, ça se passe exactement comme si la classe n'était pas template.

Reply

Marsh Posté le 28-12-2008 à 03:18:29    

je dois avouer que j'ai du mal à te suivre sur ta réponse, sur la première partie d'une part et sur les unités de complilation d'une autre car je ne connais pas cette technique.


---------------
je connais tout, je ne sais rien, seule certitude, à vouloir trop on finit par tout perdre.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed