Returns the sum of all the elements in the valarray, as if calculated by applying operator+= to a copy of one element and all the other elements, in an unspecified order.
If the valarray has a size of zero, it causes undefined behavior.
T shall support the calls to operator+=.
Parameters
none
Return value
The sum of all the elements in the valarray. T is the template argument of valarray (the value type).
Example
1 2 3 4 5 6 7 8 9 10 11 12
// valarray::sum example
#include <iostream> // std::cout
#include <valarray> // std::valarray
int main ()
{
int init[]={10,20,30,40};
std::valarray<int> myvalarray (init,4);
std::cout << "The sum is " << myvalarray.sum() << '\n';
return 0;
}
If applying operator+= to element values throws an exception, it causes undefined behavior.
If the valarray has a size of zero, it causes undefined behavior.