011
13.05.2003, 10:55 Uhr
virtual
Sexiest Bit alive (Operator)
|
Solche Prinzipellen Dinge schreien ja förmlich nach der Verwendung von valarray
C++: |
#include <iostream> #include <valarray>
int main() { double array[] = { 1.0, 3.4, 2.7, 5.1 };
std::valarray<double> varray(array, sizeof(array)/sizeof(*array));
std::cout<<"Die Summe ist: "<<varray.sum()<<std::endl; }
|
oder zumindest einer Verallgemeinerung des Aufsummierungsvorgangs:
C++: |
#include <iostream> #include <algorithm>
template<typename T> class summe { double s; public: summe() :s(0) {} void operator () (const T& add) { s+=add; } const T& result() const { return s; } };
int main() { double array[] = { 1.0, 3.4, 2.7, 5.1 }; summe<double> s;
s = std::for_each(array, array+sizeof(array)/sizeof(*array), s);
std::cout<<"Die Summe ist: "<<s.result()<<std::endl; }
|
-- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |