如何制作c++意图列表

How to make a C++ intention list

本文关键字:列表 意图 c++ 何制作      更新时间:2023-10-16

我想像python一样做一个意图列表。

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

使用std、迭代器和lambda函数,应该可以在一行中完成相同的操作。

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

你能完成它吗?

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

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

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