Czy istnieje sposób kodowania pojedynczej funkcji szablonu, która może działać na różnych elementach danego struct
?Funkcja szablonu na elementach struktury
źle Przykładem może wyglądać następująco:
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;
}
Wyobrażałem sobie odpowiedź oparta na przełączniku, ale potem się zastanawiać, czy ten przełącznik zostanie przetestowany na okresie czasu (co chciałbym uniknąć) lub podczas kompilacji?
Dlaczego tego potrzebujesz? – user0042
Rozwiązuję układ sprzężonych równań pochodnych dla siatki 2D i chciałbym mieć funkcję pochodnej pojedynczej przestrzeni dla wszystkich wielkości fizycznych każdej komórki ... Lub przynajmniej zmniejszyć liczbę funkcji do kopiuj wklej ! –
Wydaje się zbędny i kłopotliwy prawdopodobnie problem XY. –