J’ai des données physiologiques internes aux participants (en part ), qui ont toutes regardé des stimuli (lecture de journaux) sur trois tours ( round ), chacun comportant cinq articles ( paper ) et un nombre variable de visites ( visit ) dans le journal. J’ai deux facteurs fixes ( CONDhier et CONDabund ) plus une […]
Contexte Considérer ce qui suit: template struct Fibonacci { enum { value = Fibonacci::value + Fibonacci::value }; }; template struct Fibonacci { enum { value = 1 }; }; template struct Fibonacci { enum { value = 0 }; }; Ceci est un exemple courant et nous pouvons obtenir la valeur d’un nombre de Fibonacci […]
J’ai une classe de base similaire au code ci-dessous. Je tente de surcharger << à utiliser avec cout. Cependant, g ++ dit: base.h:24: warning: friend declaration ‘std::ostream& operator<<(std::ostream&, Base*)’ declares a non-template function base.h:24: warning: (if this is not what you intended, make sure the function template has already been declared and add after the […]
Une fois auparavant, j’étais certain que vous ne pouviez pas faire cela, mais l’autre jour, je jouais avec du code et cela semblait comstackr et fonctionner. Je veux juste vérifier que je ne fais pas que gagner de la chance. Une classe de modèle peut-elle avoir une fonction virtuelle pure – ce qui, je suppose, […]
Considérer: template class Base { public: static const bool ZEROFILL = true; static const bool NO_ZEROFILL = false; } template class Derived : public Base { public: Derived( bool initZero = NO_ZEROFILL ); // NO_ZEROFILL is not visible ~Derived(); } Je ne suis pas capable de comstackr ceci avec GCC g ++ 3.4.4 (cygwin). Avant […]
Cette question s’adresse aux personnes qui connaissent à la fois Haskell (ou tout autre langage fonctionnel prenant en charge les types supérieurs) et C ++ … Est-il possible de modéliser des types similaires à l’aide de modèles C ++? Si oui, alors comment? MODIFIER : De cette présentation de Tony Morris: Polymorphisme d’ordre supérieur: Des […]
J’essaie d’écrire du sucre syntaxique, dans un style std::optional , sur std::optional . S’il vous plaît considérer: template void f(std::optional) {} Comme c’est le cas, cette fonction ne peut pas être appelée avec un T 1 non optionnel (par exemple un int ), même s’il existe une conversion de T en std::optional 2 . Est-il […]
Cela ne comstack pas: template struct A { template void f() {} }; template void g() { A a; af(); // Compilation fails here (Line 18) } int main(int argc, char *argv[]) { g(); // Line 23 } Le compilateur (gcc) dit: hhh.cpp: Dans la fonction ‘void g ()’: hhh.cpp: 18: erreur: expression primaire attendue […]
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 […]
Comment la fonction d’échange est-elle implémentée dans la STL? Est-ce aussi simple que cela: template void swap(T& t1, T& t2) { T tmp(t1); t1=t2; t2=tmp; } Dans d’autres articles, ils parlent de spécialiser cette fonction pour votre propre classe. Pourquoi devrais-je le faire? Pourquoi ne puis-je pas utiliser la fonction std::swap ?