我有c#lambdas的经验,我试图将其翻译成c ++。例如,采用这种c#方法:
int sum(int one,int two)=>一+二;
c ++是否有这样的快捷方式,或者我需要具体说回来吗?
答案 0 :(得分:3)
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; };
答案 1 :(得分:1)
实际上,这不是C#中的lambda,而是一个"表达身体的成员" - 即,只是编写函数的快捷方式:
C ++中的等价物只是一个简单的旧方法:
int sum(int one, int two)
{
return one + two;
}