通过固定其中一个输入参数来创建一个新函数

Making a new function by fixing one of the input parameters

本文关键字:一个 创建 新函数 函数 参数 输入      更新时间:2023-10-16

我想编写一个函数double add_100(double x),并且我已经为double add_two_numbers(double a, double b)编写了代码注意:这里的变量x是局部的,因此我需要在main()函数本身中实现它。我发现std::bind可能会有所帮助,但无法了解如何实现它。我认为另一种可能性是Lambda expressions,但我再次无法了解如何实施它。

您可能想要lambda或std::functionstd::bind

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);

或具有非硬编码编号

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 add_100(double x)
{
   return add_two_numbers(x, 100);
}
相关文章: