Questions marquées «templates»

95
Instanciation de modèle explicite - quand est-elle utilisée?

Après quelques semaines de pause, j'essaie d'élargir et d'étendre mes connaissances des modèles avec le livre Templates - The Complete Guide de David Vandevoorde et Nicolai M. Josuttis, et ce que j'essaie de comprendre en ce moment, c'est l'instanciation explicite des modèles . Je n'ai pas...

95
Comment vérifier le type d'un paramètre de modèle?

Supposons que j'ai une fonction de modèle et deux classes class animal { } class person { } template<class T> void foo() { if (T is animal) { kill(); } } Comment vérifier si T est un animal? Je ne veux pas avoir quelque chose qui vérifie pendant l'exécution. Merci

93
Paramètres de modèle non-type

Je comprends que le paramètre de modèle non-type doit être une expression intégrale constante. Quelqu'un peut-il nous expliquer pourquoi? template <std::string temp> void foo() { // ... } error C2993: 'std::string' : illegal type for non-type template parameter 'temp'. Je comprends ce qu'est...

92
Que signifie «utiliser ODR» quelque chose?

Cela vient juste d'être soulevé dans le contexte d' une autre question . Apparemment, les fonctions membres des modèles de classe ne sont instanciées que si elles sont utilisées par ODR. Quelqu'un pourrait-il expliquer ce que cela signifie exactement. L' article de wikipedia sur One Definition...

91
Erreur de modèle déroutante

J'ai joué avec clang un moment, et je suis tombé sur "test / SemaTemplate / depend-template-recover.cpp" (dans la distribution clang) qui est censé fournir des conseils pour récupérer d'une erreur de template. Le tout peut être facilement réduit à un exemple minimal: template<typename T,...

91
Itérer sur la carte dans le modèle

J'essaye d'afficher une liste de cours de gym (Yoga, Pilates, etc.). Pour chaque type de cours, il y a plusieurs cours, je souhaite donc regrouper tous les cours de yoga, et tous les cours de Pilates, etc. J'ai fait cette fonction pour prendre une tranche et en faire une carte func...