Hey, j’ai une question sur les pointeurs de la fonction des membres généraux. J’essaie d’obtenir quelque chose de similaire à la question suivante Comment définir un pointeur de fonction de membre général Ce que je veux essentiellement pouvoir faire, c’est enregistrer un pointeur de fonction membre qui accepte un object Event générique comme argument avec […]
J’ai un ensemble de plusieurs classes C ++ qui ont la même interface (mais non dérivées les unes des autres). J’essaie de les emballer pour les rendre disponibles dans .NET. J’ai actuellement une méthode qui définit la classe wrapper en utilisant C / C ++ #defines et je peux ensuite instancier des classes avec une […]
En c #, les membres statiques sont uniques pour chaque classe générique, comme dans cet exemple. using System; //A generic class public class GenTest { //A static variable – will be created for each type on refraction static CountedInstances OnePerType = new CountedInstances(); //a data member private T mT; //simple constructor public GenTest(T pT) { […]
Disclaimer: Je ne suis pas un développeur professionnel et je n’ai pas l’intention de le devenir. Livre de lecture sur Java, comme je voulais essayer la programmation Android, aucune expérience préalable de Java. Je lis ce livre – et je l’aime plutôt. J’ai lu une partie du chapitre sur les classes génériques, je suis arrivé […]
Si j’ai la classe hypothétique suivante: namespace System { template class Container { public: Container() { } ~Container() { } } } Si j’instancie deux conteneurs avec des T différents, dites: Container a; Container b; Je voudrais créer un vecteur avec des pointeurs sur a et b. Puisque a et b sont de types différents, […]
Je veux écrire une fonction comme print_all décrite ci-dessous. #include #include template void print_all(std::iterator it) { for (; it != std::end(it); ++it) { V item = *it; // do stuff with item } } int main() { std::vector myvec (10); print_all(myvec.cbegin()); return 0; } Comment déclarer print_all tel qu’il puisse accepter n’importe quel iterator sur […]
La question concerne un code développé dans MS Visual C ++ 11, avec un access uniquement à STL, pas de Boost. Il existe une classe de modèle de wrapper, avec à peu près cet en-tête: template class Wrapper { Payload p; std::ssortingng src; Wrapper( std::ssortingng, Payload ); Payload get(); // returns payload void set(Payload); // […]
J’ai une douzaine de fonctions qui prennent deux parameters: un générique et un type spécifique. Par exemple: template void foo(A& a, B& b) { cout << "generic fallback" << endl; } template void foo(A& a, int &i) { cout << "generic int" << endl; } template void foo(A& a, ssortingng& s) { cout << "generic […]
J’utilise donc un graphe de boost du type suivant: typedef boost::adjacency_list GraphT VertexT et EdgeT sont deux classes permettant de conserver bon nombre des propriétés dont j’ai besoin. Ce sont des propriétés groupées. Je ne sais pas si certaines des manières dont je veux utiliser bgl sont possibles, donc si vous les connaissez bien, nous […]
Habituellement, quand A hérite de B , tous les membres de A sont automatiquement visibles par les fonctions de B , par exemple class A { protected: int a; }; class B : public A { int getA() {return a;} //no need to use A::a, it is automatically visible }; Cependant, lorsque j’hérite avec des […]