当我用 std::transform 取消注释注释行时,上面的 for_each 将不会打印任何内容。下面的 for_each 也不打印任何内容。我认为代码会从 v 中获取元素,增加它们并将它们插入到 v2 中。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void print(const int& what){
cout<<what<<" ";
}
int change(const int& from){
return from+1;
}
int main() {
vector<int> v(5,10);
vector<int> v2;
for_each(v.begin(),v.end(),print);
//transform(v.begin(),v.end(),v2.begin(),change);
for_each(v2.begin(),v2.end(),print);
return 0;
}