|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 552 ![]() |
Bonjour.
Sur le chapitre consacré à la fabrique, dans le dernier code, on peut lire : Code :
) ne peut contenir de templates sur les compilateurs "standards".il faudrais probablement remplacer .cpp par autre chose (l'auteur semble utiliser les .inc). bon, c'est vraiment chercher des poux dans la tête des tutoriels, mais autant qu'il soient parfaits Et désolé de donner du boulot aux modos.
__________________
Méphistophélès Si la solution ne résout pas votre problème, changez le problème... |
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() |
Ouais, cest pas faux. Mais de toute facon:
1) tout l'article est en train detre revu en profondeur, j'hesite meme a le desactiver en attendant 2) Je ne suis pas chez moi avant debut aout, je ne pourait donc rien faire en attendant.
__________________
"Never use brute force in fighting an exponential." (Andrei Alexandrescu) Mes articles dont Conseils divers sur le C++ Une très bonne doc sur le C++ (en) Why linux is better (fr) |
|
|
00
|
|
|
#3 |
![]() ![]() |
Salut,
En fait, il n'y a aucune interdiction à ce qu'un fichier .cpp contienne du code template... La seule chose, c'est que l'on déconseille normalement d'inclure un fichier .cpp avec la directive préprocesseur #include, pour des raisons évidentes (de définitions multiples, entre autres). Or, pour que le compilateur soit en mesure de fournir le code binaire correspondant à une fonction (membre d'une classe) template, il doit... disposer du code de cette dernière ![]() Le fait de placer le code d'une fonction (membre d'une classe) template dans un fichier *.cpp revient donc à... ne fournir ce code que pour le fichier en question, ce qui peut parfois avoir quelques avantages, comme, par exemple, permettre d'attendre que le fichier d'en-tête d'une classe qui n'aurait été que déclarée anticipativement soit inclus
__________________
en bas de page
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 552 ![]() |
d'accor, mais si le code template existe à moitié dans un .h et dans un .cpp, il va falloir mettre tout le reste du code du programme dans le .cpp... ça s'annonce joyeux
![]() enfin, au moins, il n'y aura pas de problèmes de doublons d'instanciations templates et ce, sans C++0x, c'est une bonne méthode en fait
__________________
Méphistophélès Si la solution ne résout pas votre problème, changez le problème... |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com