C++ 代码的含义是什么?
我读过一些用c define定义函数的文章,我不理解[&]()->long int的用法。这是函数返回的赋值类型。谁能为我详细解释一下?谢谢C++ 代码的含义是什么?,c++,C++,我读过一些用c define定义函数的文章,我不理解[&]()->long int的用法。这是函数返回的赋值类型。谁能为我详细解释一下?谢谢 # define TEMP_FAILURE_RETRY(expression) \ [&]() -> long int \ {
# define TEMP_FAILURE_RETRY(expression) \
[&]() -> long int \
{ \
long int __result; \
do __result = (long int)(expression); \
while (__result == -1L && errno == EINTR); \
return __result; \
}()
它是以下形式的lambda表达式:
[captures](params)->ret{body}
- [&]通过引用捕获lambda主体中使用的所有自动变量,如果存在,则通过引用捕获当前对象
- 没有参数
- 返回类型为
long int
- {}包含lambda的定义
详情请参阅这是λ,但它是C++,而不是C。谢谢,它确实是λ。似乎我应该对C++11进行系统的研究,然后后面的
()
一生成就调用lambda(首先否定lambda的需要?)