你如何使用 c++ lambda 像 c#

How do you use c++ lambda's like c#

本文关键字:lambda c++ 何使用      更新时间:2023-10-16

我有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; };