#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class add{
public:
add():value(0){}
void operator()(int i){value += i;}
void print(){cout << "the value is "<< value << endl;}
private:
int value;
};
int main(){
vector<int> v1;
for(int i = 1;i < 100;i ++){
v1.push_back(i);
}
add add1;
for_each(v1.begin(),v1.end(),add1);
add1.print();
}最后结果应该为4950,可是最后输出的是0,为什么呢??
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/818/viewspace-3161635/ ,如需转载,请注明出处,否则将追究法律责任。