gpt4 book ai didi

c++ - Vector Add的STL算法

转载 作者:可可西里 更新时间:2023-11-01 15:40:04 26 4
gpt4 key购买 nike

假设我有两个 vector<int>小号:

vector<int> foo{1, 2, 3};
vector<int> bar{10, 20, 30};

现在我想在它们上面做一个 vector 相加,结果是:

11
22
33

是否有可以处理此问题的 STL 算法,或者我是否需要使用 for循环:

for(auto i = 0; i < foo.size(); ++i){
foo[i] += bar[i];
}

奖金问题,如果我想做比添加更复杂的事情,比如 foo 怎么办?是一个vector<string>bar仍然是vector<int> .我希望,如果有我可以使用的 STL 算法,它也能支持 lambdas?

最佳答案

可以使用 std::transform 实现您想做的事情.在你的情况下:

std::transform(foo.begin(), foo.end(), bar.begin(), foo.begin(), std::plus<int>());

std::transform 也支持 lambda,因此您可以在 vector 元素之间进行更复杂的操作。

关于c++ - Vector Add的STL算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28961954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com