你如何使用 c++ lambda 像 c#
How do you use c++ lambda's like c#
我有C#lambdas的经验,我正在尝试将其翻译成C 。例如,以此C#方法:
int sum(int One,int二(=>一个 两个;
c 是否有这样的快捷方式,还是我需要特别说返回?
实际上,这不是c#中的lambda,而是"表达式成员" - 即,只是编写函数的快捷方式:
https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/statement-statement-statement-expressions-eprestions-epresters/expression-bodied-members
C 中的等效物只是一种普通的旧方法:
int sum(int one, int two)
{
return one + two;
}
C 是否有这样的快捷方式,还是我需要具体说返回?
c 不支持该语法。您必须使用return
。
我可以在C 中想到的最接近的类似物是lambda函数和inline
函数。
lambda功能:
auto sum = [] (int one, int two) { return one + two; };
内联函数:
int sum(int one, int two) { return one + two; };
相关文章:
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 可组合的lambda/std::函数与std::可选
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- 如何建立使用模板函数的lambda函数的尾部返回类型
- 如何将lambda作为模板类的成员函数参数
- C++从其他 constexpr 创建 lambda 不能按顺序执行 Constexpr
- 在 lambda 捕获中声明的变量的类型推导
- 我可以将调用类的"this"传递给 lambda 函数吗?
- 为什么lambda在clang上崩溃而不是在gcc上崩溃
- 模板函数指针和lambda
- 两组使用lambda函数的大括号
- 使lambda不可复制/不可移动
- FLTK:按下哪个按钮 - 将数字传递给按钮的回调 (lambda)
- 尝试将lambda函数放在队列中时出现一般分配器错误(可能是与unique_ptr有关的错误)
- 将带有unique_ptr的可变 lambda 传递给 const&std::function
- AWS Lambda C++运行时权限被拒绝
- 捕获lambda中的std::数组
- 这 4 个 lambda 表达式之间有什么区别?
- 在实现文件中使用头文件的通用 lambda
- 我可以在这里替换什么,因为我不能在 C# 中使用隐式变量的 lambda 函数?