闭包可以理解为函数加状态的组合。同时用更简练的语法和较少的代码表述。其中Lambda表达式更好的体现了这种风格。
在C++中示例如下:
int ret = 0;
//实现位左移1位即*2
int y = 2;
auto f = [=](int x) -> int { return x*y; };
ret = f(1);
闭包可以理解为函数加状态的组合。同时用更简练的语法和较少的代码表述。其中Lambda表达式更好的体现了这种风格。
在C++中示例如下:
int ret = 0;
//实现位左移1位即*2
int y = 2;
auto f = [=](int x) -> int { return x*y; };
ret = f(1);