|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Étudiant Inscription : décembre 2011 Messages : 34 ![]() |
Bonjour,
J'essaye de comprendre certaines notions de généricité en C++ (même si je ne vois pas toujours leurs intérêts...) et je viens donc lire récemment un tutoriel sur le template rebinding : http://alp.developpez.com/tutoriels/templaterebinding/ J'ai compris comment fonctionne le template rebinding (je ne sais pas par contre si c'est souvent utile...) mais dans le tuto il est dit que les template typedefs n'existent pas en C++. Vu que le tutoriel date un peu (2007) et que je ne trouve pas de réponses sur le web je souhaiterai savoir si maintenant les template typedefs existent. PS: Je préfère vous demander conseil avant : j'aimerais aussi lire ce tutoriel sur la metaprogrammation : http://loulou.developpez.com/tutoriels/cpp/metaprog/ Mais vu qu'il date de 2004 je me demande si c'est toujours d'actualité ? Ou si je perds mon temps en lisant. Quelqu'un pour m'aider ? |
|
|
00
|
|
|
#2 | ||||||
|
Membre Expert
![]() ![]() Inscription : mai 2008 Messages : 937 ![]() |
Bonjour,
Oui les template typedef sont maintenant disponibles en C++11 ! Hourra ! Par contre elles ne sont implémentées que sur les compilateurs très récents, et encore pas sur tous... (pas sur visual studio par exemple)L'article à l'époque prévoyait une syntaxe dans ce genre : Code :
Il faut écrire : Code :
On peut par exemple écrire : Code :
|
||||||
|
|
20
|
|
|
#3 |
|
Futur Membre du Club
![]() Étudiant Inscription : décembre 2011 Messages : 34 ![]() |
Ah oui effectivement la syntaxe est bien mieux je trouve.
Et du coup plus besoin de template rebinding. Et bien merci pour cette réponse
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Guillaume BelzBiochimiste Inscription : novembre 2008 Messages : 5 314 ![]() |
En complément : Nouvelles fonctionnalités du C++11 - Alias de templates. On peut également les utiliser avec des types non template, à la place de typedef (à terme, cela pourrait remplacer complètement les typedef). C'est dans gcc à partir de 4.7
Pour le second article, oui, il est très intéressant à lire, d'autant plus si tu vois pas forcement l'intérêt de la méta prog
__________________
Vous souhaitez rejoindre l'équipe de bénévoles qui fait vivre Developpez (traduction, rédaction, modération) ? Contactez moi par MP. Ma page personnelle avec la liste de mes articles - Mon blog sur le C++, Qt et les GPU. Je suis régulièrement sur le chat pour les questions C++/Qt. Apprendre Qt 5 : vidéos d'installation (YouTube), extraites du livre Créer des applications avec Qt 5. |
|
10
|
|
|
#5 |
|
Futur Membre du Club
![]() Étudiant Inscription : décembre 2011 Messages : 34 ![]() |
Merci, je vais lire tout ça alors !
Et je met le sujet en résolu bien sûr. |
|
|
00
|
|
|
#6 |
![]() ![]() |
Salut,
En fait, le template rebinding est une technique qui est appelée à pallier certains manques que la nouvelle norme tente de combler. La nouvelle norme nous permet d'écrire plus facilement des algorithmes qui tiennent du template rebinding, mais le principe reste toujours le même. En plus, il faut savoir que, comme la nouvelle norme est "toute récente", le nombre de compilateurs qui supportent l'ensemble des opportunités qu'elle offre reste restreint, et que tu risques malgré tout de te trouver face à un compilateur qui... ne supporte pas toutes les possibilités de C++11. L'idéal est donc de ne pas se dire "plus besoin de template rebinding" mais bien de se dire "avec un peu de chance, je pourrai faire sans", tout en gardant cette technique sous la main pour le cas où "tu n'aurais pas de chance" Pour ce qui concerne l'article sur la méta programmation, il a beau dater un peu, il reste tout à fait d'actualité (meme si la nouvelle norme nous apporte certaines facilités) et te permettra d'avoir une idée plus que correcte de l'utilité que peut avoir la méta programmation. Mais, en deux mots, il te permet de te rendre compte qu'il est parfois possible de "laisser travailler le compilateur pour nous" et donc de s'éviter d'avoir à recoder sans cesse la même chose
__________________
en bas de page
|
|
|
10
|
Copyright © 2000-2013 - www.developpez.com