Articles of template specialization

Contournement de la spécialisation du modèle

Supposons que je sois un utilisateur d’une bibliothèque de modèles spécifiques ( CTL ) qui définit un modèle, nommé par exemple Hector template class Hector {…}; Et dans sa documentation, il donne de nombreuses garanties sur le comportement du modèle Hector . Mais alors, il définit également une spécialisation pour un certain type Cool template […]

Spécialisation des modèles

Un manuel J’ai des notes que vous pouvez fournir votre propre implémentation pour des fonctions de bibliothèque standard telles que swap(x,y) via une spécialisation de modèle pour la surcharge de fonctions. Cela serait utile pour tout type pouvant bénéficier de quelque chose d’autre qu’un échange d’affectation, comme les STL containers par exemple (qui ont déjà […]

Pourquoi y a-t-il tant de spécialisations de std :: swap?

En regardant la documentation de std::swap , je vois beaucoup de spécialisations. Il semble que chaque conteneur STL, ainsi que de nombreuses autres installations std, disposent d’un échange spécialisé. J’ai pensé à l’aide de modèles, nous n’aurions pas besoin de toutes ces spécialisations? Par exemple, Si j’écris ma propre pair cela fonctionne correctement avec la […]

Spécialisation partielle des modèles variadiques

Considérons le modèle de classe «X» suivant et ses spécialisations partielles. template struct X {}; // #1 template struct X {}; // #2 template struct X {}; // #3 X x; // #2 or #3 ? Je pense que X est ambigu. C’est parce que: Il est évident que les deux # 2 et # […]

“Modèle ” vs “modèle” sans crochets – quelle est la différence?

Supposons que j’ai déclaré: template void foo(T& t); Maintenant, quelle est la différence entre template void foo(int& t); et template void foo(int& t); sémantiquement? Et est-ce que template-with-no-crochets et template-with-empty-crochets ont d’autres sémantiques dans d’autres contextes? Lié à: Comment forcer une instance particulière d’un modèle C ++ à être instanciée?