for_each example struct sum { int sum; sum() : sum(0) { } void operator()(int i) { sum += i; } }; int main() { int A[ ] = {1,2,3,1,2,3,1,2,3,1,2,1,1,2,3}; int N = 15; sum s = for_each(A, A + N, sum()); cout << s.sum << endl; }