gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 09:56:46 25 4
gpt4 key购买 nike

我有:

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/

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