로딩
요청 처리 중입니다...

C++ 0x] Lamda(람다) 이야기 6

 C++ 0x] Lamda(람다) 이야기 6

원본글은 http://tedahn.tistory.com/23 입니다. 지난 글에서 이야기 했던 람다(Lambda)의 배경 개념에 대해 알아보겠습니다.

람다 함수는 First-Class Object? 프로그래밍 언어를 이루는 class, struct, int와 같은 개체들 중에서 아래 조건을 만족하면 First-Class Object로 분류합니다.

(First-Class Object는 분류의 한 갈래를 의미하는 것이지 상하 관계를 의미하진 않습니다.) - 변수와 자료구조에 저장하고 사용할 수 있다. - 함수의 입력 값으로 사용할 수 있다. - 함수의 반환 값으로 사용할 수 있다. - 실행 시간에 생성할 수 있다. 즉, 기존 C++에서는 class, struct, int 등이 First-Class Object 였고 아래 예제에서 볼 수 있듯이 C++0x에서 람다 함수(Lambda Function)가 First-Class Object의 조건들을 만족시킵니다. ... int main() {...