gpt4 book ai didi

c++ - 返回一个参数被评估的函数

转载 作者:太空狗 更新时间:2023-10-29 23:23:53 29 4
gpt4 key购买 nike

我是 C++ 的新手,我想执行以下操作,但不知道如何操作。

我想定义一个基于带有一些参数的模板的函数。假设我们有 f(x)=a*x+b , 但参数 ab将作为参数传递。

我想定义一个函数 create_function(double a, double b)返回 a*x+bab评估传递的参数,以便我可以使用另一个函数 func( double x )对其进行评估。

目标是只用给定的参数创建一次函数,这样它就可以被另一个例程重复调用,就像f(x)一样。 .实际功能比这复杂得多,但我可以对其进行调整。

我一直在看这个post它会与此类似,但我不知道如何调整它以返回仍然依赖于 x 的函数.

最佳答案

您可以使用 lambda 执行此操作:

auto create_function(double a, double b)
{
return [a, b](double x) { return a * x + b; };
}

void test()
{
auto func = create_function(2.0, 3.0);
double y = func(4.0); // y is now 11
}

Demo (表明编译器已经知道 func(4.0) 将始终返回 11)

关于c++ - 返回一个参数被评估的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51926415/

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