Existe-t-il un moyen de coder une fonction de modèle unique pouvant s'exécuter sur différents membres d'un struct
?Fonction de modèle sur les membres de structure
Un mauvais exemple ressemblerait à ceci:
struct Foo
{
int a, b;
}
template <MEMBER x> //which does not exist
cout_member(Foo foo)
{
cout << foo.x << endl;
}
int main()
{
Foo foo;
cout_member<a>(foo);
cout_member<b>(foo);
return 0;
}
J'ai imaginé une réponse basée sur un interrupteur, mais je puis me demandais si ce commutateur sera testé sur l'exécution (ce que je voudrais éviter) ou à la compilation?
Pourquoi avez-vous besoin de cela? – user0042
Je suis en train de résoudre un système d'équations dérivées dérivées partielles pour une grille 2D, et j'aimerais avoir une fonction dérivée unique pour toutes les quantités physiques de chaque cellule ... Ou au moins réduire le nombre de fonctions à copier coller ! –
Semble superflu et encombrant peut-être un problème XY. –