December 2013
Intermediate to advanced
560 pages
11h 4m
German
Die Idee eines Promotion Trait ist recht einfach: Bestimme den Rückgabetyp des Funktions-Templates abhängig von seinen Eingabeargumenten dadurch, dass für jede Typkombination ein Rückgabetyp hinterlegt ist.
Generische add-Funktion
An einer generischen Funktion add, die zwei Werte addiert, lässt sich diese Technik einfach darstellen. Das Funktions-Template besitzt die folgende Definition.
??? add(T1 first, T2 second){
return first + second;
}Um generisch zu sein, muss der Rückgabetyp von den Argumenten abhängen. Das lässt sich aber nicht allgemein bestimmen, da für zwei Argumente vom Typ double und int der Rückgabetyp double, hingegen für zwei Typen long long und int der Rückgabetyp long long sein sollte. In Listing E.1
Read now
Unlock full access