Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 通过固定一个输入参数生成新函数_C++_C++11_Gcc - Fatal编程技术网

C++ 通过固定一个输入参数生成新函数

C++ 通过固定一个输入参数生成新函数,c++,c++11,gcc,C++,C++11,Gcc,我想写一个函数double add\u 100(double x),我已经写了double add\u两个数字(double a,double b)注意:这里变量x是局部变量,因此我需要在main()函数中实现它。我发现std::bind可能有帮助,但无法获得如何实现它。我认为另一种可能是Lambda表达式,但我同样无法理解如何实现它。您可能需要Lambda或std::function,或std::bind double add_100(double x) { return add_two

我想写一个函数
double add\u 100(double x)
,我已经写了
double add\u两个数字(double a,double b)
注意:这里变量
x
是局部变量,因此我需要在main()函数中实现它。我发现
std::bind
可能有帮助,但无法获得如何实现它。我认为另一种可能是
Lambda表达式
,但我同样无法理解如何实现它。

您可能需要Lambda或
std::function
,或
std::bind

double add_100(double x)
{
   return add_two_numbers(x, 100);
}
auto l_add_100 = [](double x) { return add_two_numbers(x, 100); };
std::function<double(double)> f_add_100 = [](double x) { return add_two_numbers(x, 100); }
auto b_add_100 = std::bind(add_two_numbers, std::place_holder::_1, 100);
auto l_add_100=[](双x){返回两个数字(x,100);};
函数f_add_100=[](双x){返回add_两个数字(x,100);}
auto b_add_100=std::bind(添加两个编号,std::place_holder::_1100);
或者使用非硬编码的数字

double y = //...
auto l_add_y = [y](double x) { return add_two_numbers(x, y); }
std::function<double(double)> f_add_y = [](double x) { return add_two_numbers(x, y); }
auto b_add_100 = std::bind(add_two_numbers, std::place_holder::_1, y);
double y=/。。。
自动l_加法y=[y](双x){返回加法两个数字(x,y);}
函数f_add_y=[](双x){返回add_两个数字(x,y);}
自动b_add_100=std::bind(添加两个编号,std::place_holder::_1,y);

确切的问题是,我想让一个函数双f(双x),它将在点“x”处计算任何函数的值。但是现在,当我为多项式做这样的函数时,我有一个额外的参数向量系数。用于存储系数。现在用这个怎么做。因为为了计算f(x),我需要将向量系数发送给它。@user3496912你的意思是?@user确切的问题可以在上面阅读,与你在评论中写的完全不同。与其半心半意地写问题,希望我们能读懂你的心思,不如多花点时间问你想让我们回答的问题。请下次再努力一点。@DavidHeffernan我是这个社区的新手。对不起,对这个问题的描述是错误的。我现在已经编辑了这个问题,下次会努力改进。你的编辑很难改进。请更加努力。如果100是指在运行时知道的某个数字,那么您就不能实现这样的功能。但是,yoy可以生成一个
std::函数