是C语言中的lambda函数吗
是用C语言编写的lambda函数,还是我自己写的。是C语言中的lambda函数吗,c,lambda,C,Lambda,是用C语言编写的lambda函数,还是我自己写的。 我在网上搜索,没有发现任何C++和C语言。理论意义上的< P>不是lambda语言,因为你没有一个真正的lambda类型,它可以被传递,并且像一个真值一样运行。 但使用函数指针,您可以获得非常类似的结果: typedef int (*lambda)(); // defines lambda as a type which is a pointer to a function that returns an int int foo() { re
我在网上搜索,没有发现任何C++和C语言。理论意义上的< P>不是lambda语言,因为你没有一个真正的lambda类型,它可以被传递,并且像一个真值一样运行。 但使用函数指针,您可以获得非常类似的结果:
typedef int (*lambda)(); // defines lambda as a type which is a pointer to a function that returns an int
int foo() { return 5; }
int bar() { return 10; }
lambda function;
function = foo;
function = bar;
int result = function();
简短回答:不,C没有其他语言所称的lambdas。然而,你可以用函数指针做一些有趣的事情。我认为这个答案混淆了函数作为一等公民和lambda。