Tag: currying

用ISO C99进行curl/装订

假设我想用普通的C实现一个数值积分例程。看起来像这样: double integrate(double (*f)(double), double lower, double upper, double step)); 我经常发现实际上依赖于多个变量的函数,我想要整合第一个函数。 说我想整合这个: double func(double x, double z); 关于x 。 我无法通过func进行integrate因为它有错误的签名。 现在我知道了以下变通方法,我们在学习数字课程时使用了这些变通方法: 使用C ++ 我刚刚使用了C ++和ist std::bind来创建一个我可以传递给集成例程的仿函数(函数对象)。 现在我只想使用lambda函数来完成它。 在function中使用GCC扩展function 使用GCC,您可以在函数中声明函数。 人们可以做到 // z is set to some value in this function scope here. double inner(double x) { return func(x, z); } 并将inner传递给integrate函数。 这是非标准的,感觉不太好。 使用全局变量 z的值可以存储在全局变量中。 这将要求函数func可编辑以使用全局变量中的z而不是参数。 […]