c++ - 如何使用divides和for_each?

标签 c++ foreach c++-standard-library elementwise-operations

我有:

vector<double> ved1 = { 1,2,3,4,5,6,7,8,9,10 };
vector<double> ved2 = { 11,12,13,14,15,16,17,18,19,20 };
vector<double> ved3(10);

我想要 ved3=ved3/2 但我不能正确得到它,结果是 2/ved3;
如何使用分频器?
transform(ved1.begin(), ved1.end(), ved2.begin(), ved3.begin(), plus<double>());
transform(ved3.begin(), ved3.end(), ved3.begin(), bind1st(divides<double>(),2));`    

我想要 cos(ved2),但我无法得到它。我的代码有什么问题?
double cos_1(double x) { return cos(x); }
for_each(ved2.begin(), ved2.end(), cos_1);

最佳答案

bind1st将绑定(bind) 2divides 的第一个参数,然后是 transform将提供 ved3 的每个元素至divides作为第二个论点。所以结果将是 divides(2, ved3[0]) , divides(2, ved3[1])等等。

如果要计算divides(ved3[...], 2)相反,请使用 bind2nd(divides<double>(), 2) .这样,2将绑定(bind)到第二个参数,将第一个参数留给 transform .

关于c++ - 如何使用divides和for_each?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59446437/

相关文章:

c++ - 如何遍历嵌套 vector ?

c++ - 插入到 std::unordered_multimap 时有没有办法避免散列/equalityChecking?

C++ 在类中声明 char 数组的正确方法是什么?

c# - 编码(marshal)结构后跟固定大小的数据

java - 数组中元素的总和

javascript - JQuery 未注册按钮点击

C++ 插件 : Is it ok to pass polymorphic objects?

c++ - 如何将 unordered_set 与自定义结构一起使用?

r - 在 R : Error in do. ply(i) 中使用并行 plyr 和 data.table 时出错:任务 1 失败 - "invalid subscript type ' 列表'"

c++ - 返回带有 bool 结果标志的值的标准模板