配列の総和.関数オブジェクトで和以外の計算も可能.
struct multiply { public: int operator()(int x, int y) { return x * y; }; }; int main() { std::array<int, 10> data; for( size_t i = 0; i < data.size(); ++i) { data[i] = i+1; } int sum = std::accumulate( data.begin(), data.end(), 0 /* = initial value */ ); int product = std::accumulate( data.begin(), data.end(), 1, mutiply() ); std::cout << "Σdata = " << sum << std::endl; std::cout << "Πdata = " << product << std::endl; }
コメントをかく