Dot Produkt in C ++ unter Verwendung generische Algorithmen
-
10-07-2019 - |
Frage
Ich bin sicher, wurde leider ein kluger Einzeiler der C ++ stl generische Algorithmen zur Implementierung des Skalarprodukts der Elemente in jedem geordneten Behälter, wie ein Vektor oder Liste. Ich nicht nur scheinen, um es zu merken!
Die Phantasie Implementierung wäre:
template <class containerT>
typename containerT::value_type dot_product (const containerT& left, const containerT& right)
{
assert(left.size()==right.size());
containerT::value_type result = 0;
for (containerT::const_iterator l_it = left.begin(), r_it = right.begin();
l_it != left.end(); ++r_it,++l_it)
{
result += (*l_it) * (*r_it);
}
return result;
}
Ich denke, dass ich ist, das Rad neu zu erfinden und das wird leider einen cleveren Weg, dies zu tun.
Lösung
Siehe std::inner_product
von <numeric>
.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow