65,187
社区成员




#include <iostream> // std::cout
#include <numeric> // std::accumulate
#include <vector>
template< class T >
T sum_type( T* numbers , int n )
{
T sum = 0.0;
std ::accumulate( numbers , numbers + n , sum );
return sum;
}
int main ( void )
{
int init_int = 0;
int numbers_int[] = {10,20,30};
double init_double = 0.0;
double numners_double[] = { 10.1 , 20.1 , 30.1 };
std ::cout << std::accumulate( numbers_int , numbers_int+3 , init_int) << std ::endl;
std ::cout << std::accumulate( numners_double , numners_double+3 , init_double) << std ::endl;
std ::cout << sum_type( numbers_int , 3 ) << std ::endl;
std ::cout << sum_type( numners_double , 3 ) << std ::endl;
return 0;
}