用c++ 流迭代器水了一波

写的代码不单单可以应付 2数之和,也可以应付各种类型的n数之和
代码如下

#include<iostream>
#include<iterator>
using namespace std;
template<typename T>
T sum(istream_iterator<T>begin,istream_iterator<T>end,T origin) {
    while (begin != end) {
        origin += *begin;
        begin++;
    }
    return origin;
}

int main() {
    istream_iterator<int> cin_it(cin);
    istream_iterator<int>end;
    cout << sum<int>(cin_it,end,0);

}