gpt4 book ai didi

c++ - 使用 C++ 和 STL 的 vector 元素乘积

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:58:23 25 4
gpt4 key购买 nike

用C++实现逐元素乘积并不难:

vector<float> a_array;
vector<float> b_array;
vector<float> c_array;
vector<float> dot_array;
....
for(int i=0; i<a_array.size(); i++)
{
float temp;
temp = a_array[i]*b_array[i]*c_array[i];
dot_array[i] = temp;
}

这是一个非常简单的实现,我想知道 STL 中是否已经有更高效的算法。谢谢!

最佳答案

std::transform 可用于将两个 vector 相乘:

#include <algorithm>
#include <functional>

// Precondition: b.size() >= a.size() && r.size() >= a.size()
std::transform(a.begin(), a.end(), b.begin(), r.begin(), std::multiplies<float>());

输入序列多于两个时,没有类似的标准算法。

关于c++ - 使用 C++ 和 STL 的 vector 元素乘积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11737985/

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