Questions marquées «templates»

187
Arguments de modèle par défaut pour les modèles de fonction

Pourquoi les arguments de modèle par défaut sont-ils autorisés uniquement sur les modèles de classe? Pourquoi ne pouvons-nous pas définir un type par défaut dans un modèle de fonction membre? Par exemple: struct mycclass { template<class T=int> void mymember(T* vec) { // ... } }; Au lieu de...

161
std :: fonction vs modèle

Grâce à C ++ 11, nous avons reçu la std::functionfamille des wrappers de foncteurs. Malheureusement, je n'entends que de mauvaises choses à propos de ces nouveaux ajouts. Le plus populaire est qu'ils sont horriblement lents. Je l'ai testé et ils sont vraiment nuls par rapport aux modèles. #include...

159
Modèles C ++ qui n'acceptent que certains types

En Java, vous pouvez définir une classe générique qui n'accepte que les types qui étendent la classe de votre choix, par exemple: public class ObservableList<T extends List> { ... } Ceci est fait en utilisant le mot-clé "extend". Existe-t-il un équivalent simple à ce mot clé en C ++?...

151
Arguments par défaut du modèle

Si je suis autorisé à faire ce qui suit: template <typename T = int> class Foo{ }; Pourquoi ne suis-je pas autorisé à faire ce qui suit en général? Foo me; Mais je dois préciser ce qui suit: Foo<int> me; C ++ 11 a introduit des arguments de modèle par défaut et pour le moment, ils sont...

149
Comment fonctionne `void_t`

J'ai regardé le discours de Walter Brown au Cppcon14 sur la programmation de modèles modernes ( Partie I , Partie II ) où il a présenté sa void_ttechnique SFINAE. Exemple: étant donné un modèle de variable simple qui évalue voidsi tous les arguments du modèle sont bien formés: template< class...