我想制作像python一样的意图列表。
std::vector<int> list = {1,2,3,4} ;
std::vector<int> newList =
使用std,iterator和lambda函数,应该可以在一行中执行相同的操作。
join
你能完成吗?
答案 0 :(得分:1)
std::transform
可让您转换值并将其放在其他位置:
std::vector<int> list = {1,2,3,4};
std::vector<int> newList;
std::transform(
list.cbegin(),
list.cend(),
back_inserter(newList),
[](int x) { return x * 2; });
但实际上,C ++并不是简洁的语言。
答案 1 :(得分:0)
我找到了这个解决方案。但它并不是很好。
std::vector<int> list = {1,2,3,4};
std::vector<int> newList;
std::for_each(list.begin(), list.end(),[&newList](int val){newList.push_back(val*2);});