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

  FORUM HardWare.fr
  Programmation
  C++

  [C/C++] inline ds les templates

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C/C++] inline ds les templates

n°316766
neogally
Battle Angel Alita
Posté le 24-02-2003 à 18:40:37  profilanswer
 


voila je voulai vous posez une question la dessus (chui un noob en C++ alors po de violence plz  :D )
 
quest ce qu'aporte le inline dans un cas de definition de template  
 
je mexplique quelle est la difference entre :

Code :
  1. template <class T> class test


et

Code :
  1. template <class T> inline class test


 
parceque les boucquin ecrive sans le inline et la rpof avec  :??:

mood
Publicité
Posté le 24-02-2003 à 18:40:37  profilanswer
 

n°316772
Taz
bisounours-codeur
Posté le 24-02-2003 à 18:43:54  profilanswer
 

ben ton prof est une vieille merde. une classe inline ça n'a d'ailleurs pas de sens. juste les fonctions. ca veut dire que l'on souhaite (pas qu'on ordonne) que le compilateur insère le code de la fonction plutot qu'il génère une instruction de saut. on fait généralement ça pour les petites fonctions ou le cout du saut est plus important que le traitement (genre une fonction membre get).
 
edit: et cela n'a rien de spécifique aux templates


Message édité par Taz le 24-02-2003 à 18:44:32
n°316774
neogally
Battle Angel Alita
Posté le 24-02-2003 à 18:45:12  profilanswer
 

merci tu me conforte dans mon idee  :)  
 
de toute facon tt son cour c comme ca truffe de truc qui serve a rien  :(

n°316776
Taz
bisounours-codeur
Posté le 24-02-2003 à 18:48:46  profilanswer
 

c'est pas que ca ne sert à rien, c'est que c'est invalide. d'ailleurs, ton compilateur te jètera allègrement.

n°316785
neogally
Battle Angel Alita
Posté le 24-02-2003 à 18:55:34  profilanswer
 

ben mon compilo il accepte sans broncher (visual)  :??:   :(  
 

Code :
  1. #include<stdio.h>
  2. #include<conio.h>
  3. template <class T>
  4. inline T max (T a, T b)  { return (a > b ? a : b) ; }
  5. void main()
  6. {
  7.   int a = 4, b = -7 ;
  8.   double c = 3.1415 ;
  9.   char d = 'A' ;
  10.   printf ("%d, ", max (a, b));
  11.   printf ("%d, ", max (-34, b));
  12.   printf ("%c, ", max (d, 'X'));
  13.   printf ("%f ", max (c, double(a)));
  14. }


 
en voila un exemple qui marche bien


Message édité par neogally le 24-02-2003 à 18:56:41
n°316796
Taz
bisounours-codeur
Posté le 24-02-2003 à 19:01:15  profilanswer
 

ben là c'est une fonction. au fait, pas la peine de réinventer la poudre. et préferes les iostream aux printf
 

Code :
  1. #include <iostream>
  2. using namespace std;


   

Code :
  1. template <class Type>
  2. inline Type max (Type a, Type b)  { return (a > b ? a : b) ; }


 
ok, cela fonctionne bien et c'est l'implémentation standard
 
mais ca serait "mieux" dans certains cas

Code :
  1. template <class Type>
  2. inline const Type& max (const Type &a, const Type &b)  { return (a > b ? a : b) ; }


pour eviter des recopies inutiles. mais l'attribut const ne permet plus de faire max(a, b)=truc;. et si on fait suater les const, on ne peut plus utilsier cette fonction sur les objets const. (tout ç a titre démonstratif)
 
   

Code :
  1. void main()


 
le type de retour de main doit etre int
 

Code :
  1. cout << max(a, b);


 
etc
 
 
NB: il existe déjà std::max et std::min dans la bibliotheque standard


Message édité par Taz le 24-02-2003 à 19:05:13
n°316803
neogally
Battle Angel Alita
Posté le 24-02-2003 à 19:05:26  profilanswer
 

ct pour te montrer a quel point son code est special  :D  
 
 
merci pour tes explication  ;)  cela a ete tres enrichisant


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

  [C/C++] inline ds les templates

 

Sujets relatifs
inline en CTemplates PhpBB...
phplib templates : block dans un blockGénération de pages html - templates
Système **simple** de templatesSolaris, shared library, et templates
creer une dialog box avec les templates[PHP] templates...
Probleme de compilation avec les templates[C++] Templates
Plus de sujets relatifs à : [C/C++] inline ds les templates


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