Ausgangspunkt unserer Einführung in die generische Programmierung: Eine traditionelle, übermässig eingeschränkte Summen-Implementierung

Tutorial - Ausgangspunkt
Betrachten wir eine ganz einfache Funktion,
die alle Werte eines Arrays aufsummiert.
Wir nennen die Funktion sum0
,
weil wir später bessere (generischere) Versionen erzeugen wollen.
double sum0(double* a, int n) {
double res = 0;
for(int i = 0; i < n; ++i)
res += a[i];
return res;
}
Was gibt es jetzt an sum0
auszusetzen?
Wie kann man die Funktion verallgemeinern?
Nehmen Sie sich ein paar Minuten, um darüber nachzudenken.

Fertig? Schauen wir mal, ob unser erster Gedanke der gleiche war ...