【发布时间】:2015-08-04 16:30:26
【问题描述】:
我有一些声明
vector<double> ved1(10), ved2(10), ved3(10);
array<double, 10> vod1, vod2, vod3;
valarray<double> vad1(10), vad2(10), vad3(10);
如何从这个版本转换代码
vad3 = 10.0* ((vad1 + vad2) / 2.0 + vad1 * cos(vad2));
到这里
transform(ved1.begin(), ved1.end(), ved2.begin(), ved3.begin(), plus<double>());
仅使用 vector-STL 版本。
【问题讨论】:
-
这不是代码生成机。
-
我在这段代码中看不到任何向量。 valarray 有
operator+是有原因的。 -
您愿意向我解释一下吗?
-
@Mikhail Gritsenko 显示一些可用于演示代码的向量初始化器。
-
@Vlad 来自莫斯科,它可以是任何更可取的值。关键是使该代码仅使用 vector-STL 版本工作