mai
2010
decltype permet de déduire le type de donnée d’une expression:
decltype(n) var ;
Déclare la variable var comme étant un entier, le compilateur connait le type de donnée n et remplacera l’expression par :
int var ;
Par rapport à auto que nous avons vu dans le billet précédent, on peut se poser la question de l’intérêt de decltype, en fait celui-ci vient en complément de auto.
Considérons le cas suivant :
auto d=func() ;
Je viens de déclarer une variable d en accord avec le retour de func() .
Maintenant si je veux déclarer une autre variable du même type que d, je ne veux pas ou ne peut pas forcement appeler la même fonction pour déclarer ma variable.
Dans ce cas l’utilisation de delctype résout le problème :
delctype(d) dd ;
Je peux aussi écrire :
decltype(func()) dd ;
Car à la différence de auto decltype n’exécute pas l’expression il analyse le type de donnée de l’expression.
Comme précédemment avec auto, IntelliSense est capable de nous donner l’information sur le type de donnée de la variable ainsi déclarée.
Référence MSDN
Articles récents
Commentaires récents
Archives
- septembre 2010
- mai 2010
- avril 2010
- février 2010
- août 2009
- juin 2009
- mai 2009
- février 2009
- décembre 2008
- novembre 2008
- octobre 2008
- septembre 2008
- juillet 2008
- juin 2008
- mai 2008
- avril 2008
- mars 2008
- février 2008
- janvier 2008
- décembre 2007
- novembre 2007
- septembre 2007
- août 2007
- juillet 2007
- juin 2007
- mai 2007
- avril 2007
- mars 2007
- février 2007
- janvier 2007
- décembre 2006
- novembre 2006
- octobre 2006
- septembre 2006
- août 2006
- juillet 2006
- juin 2006
- mai 2006
- mars 2006
- février 2006