如何制作 C++ 意图列表

How to make a C++ intention list

我想像 python 那样列一份意向清单。

list = [1,2,3,4]
newList = [ i * 2 for i in list ] 

使用 std、iterator 和 lambda 函数,应该可以在一行中完成相同的事情。

std::vector<int> list = {1,2,3,4} ; 
std::vector<int> newList = 

你能完成吗?

我找到了这个解决方案。但它不是很好。

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);});

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++ 并不是简洁的语言。