2015-01-08 2 views
1

C 언어의 람다 함수이거나 자체적으로 작성해야합니다. 인터넷에서 검색 한 결과 C++ 및 C# 만 찾았습니다.C 언어의 람다 함수입니까?

+1

짧은 답변 : 번호 C는 람다 전화를 다른 어떤 언어가 없습니다. 그러나 함수 포인터를 사용하여 흥미로운 것을 할 수 있습니다. – tux3

답변

3

이론적 인 의미에서 람다 (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(); 
+0

나는이 대답이 일류 시민으로서 기능과 람다를 혼란스럽게한다고 생각한다. –