C ++创建函数闭包

时间:2018-04-09 18:59:07

标签: c++ c++11

我正在尝试使用嵌套函数创建函数闭包。在C ++中这样的事情是可能的吗?

#include<iostream>
#include<algorithm>
#include <functional>

double f1(double &x)
{
  double f2 (double &y)
    {
      return (x*y);
     }
  // auto fptr = std::function<double(double)> = &f2();
  //return fptr; 
}


int main()
{
double x={10.0}, y={11.0};
std::function<double(double)> foo=&f1;
//auto res1 = f1(fptr(x));  

    return 0;
}

以下是lambda的示例。我想使用函数和函数返回指针(std :: function)而不是lambda。

#include<iostream>
#include <functional>

std::function<double(double)> f3(double x)    {
  return ( [x](double y) {return x*y;});
}

int main()   {
double res1 = f3(10.0)(11.0);   
std::cout<<res1;
return 0;
}

0 个答案:

没有答案