Wie lautet die Form (falls vorhanden), um Template-Funktionen zu schreiben, wobei Argumente Template-Container sind?Typ-Inferenz für Template-Funktionen mit Template-Parametern
Zum Beispiel möchte ich eine generische Summe schreiben, die auf jedem Container funktioniert, der iteriert werden kann. Bei dem folgenden Code muss ich zum Beispiel sum<int>(myInts)
schreiben. Ich würde es vorziehen, einfach sum(myInts)
und den Typ zu schreiben, der von dem Typ abgeleitet werden soll, den myInts enthält.
/**
@brief Summation for iterable containers of numerical type
@tparam cN Numerical type (that can be summed)
@param[in] container container containing the values, e.g. a vector of doubles
@param[out] total The sum (i.e. total)
*/
template<typename N, typename cN>
N sum(cN container) {
N total;
for (N& value : container) {
total += value;
}
return total;
}
Sie wissen, dass 'std :: accumum' für Das? – jrok