Bonjour.
Récemment, en essayant de faire une classe encapsulante un peu particulière de type, je me suis aperçu que ça ne marchait pas avec les pointeurs. c'est apparemment un comportement connu, mais j'ai trouvé très peu de documentation à ce sujet (bon, je ne suis pas non plus doué en recherche). De même la spécialisation pour un pointeur de type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 template <class T> class OverClass : public T { //[...] };n'a pour moi rien d'évident et me semble être un comportement particulier du système de template.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 template <class T> class OverClass<T*>
S'il est vrai que ces problèmes de types de données templates vont probablement disparaitre avec l'arrivée de types_trait (et is_pointer) et c++0x, je me demandais s'il n'aurait pas été pertinent d'avoir un article dans la FAQ à ce propos.
Je pourrais éventuellement le faire, mais je ne suis pas sûr de correctement appréhender ce concept donc j'aurais aimé avoir votre avis à ce sujet et sur les fondamentaux de cette règle auparavant.
Cordialement






Répondre avec citation


. Mais dans le cas du pointeur, il y a un comportement particulier qui interdit d'en hériter... et pourtant, on peu tres bien imaginer hériter d'un itérateur qui est à peu près la même chose. Pour le reste, ce qui me trouble, c'est que dans le mécanisme de la spécialisation, si j'ai par exemple un pointeur sur un itérateu: ai-je le droit de spécialiser mon objet avec un 






Partager