티스토리 뷰

안녕하세요? 오늘 람다(Lambda)를 사용하여 여러 실험을 해보겠습니다.


람다란? 

람다는 익명 함수(Anonymous function)을 의미합니다. 익명 함수는 이름 그대로 함수명이 존재하지 않는 함수를 말합니다. 


아직까진 크게 와 닿진 않는데요, 한번 예제를 통해서 익숙해져보겠습니다.


예제 1) 람다 사용해보기

#include <iostream>

int main() {
	auto add = [](auto x, auto y) 
	{
		return x + y;
	};

	std::cout << add(100, 22) << std::endl;
	return 0;
}

람다식을 작성하여 add라는 변수가 reference하였습니다. 이제 add라는 변수를 람다식이 적용된 함수처럼 사용할 수 있습니다.


우리가 알고 있는 함수를 작성하여 프로그램을 구성하면 프로그램이 모듈화되어 유지보수가 용이해집니다. 그렇지만 함수의 양이 많아 지게 되면 개발자가 코드를 해석할 때, main()함수 부터 쭈욱 읽어 내려가다가 기억이 나지 않는 함수를 만나면 코드를 이해하기 위해 이 함수가 선언된 곳으로 이동해야합니다. 즉 가독성이 떨어집니다. 더욱이 그런 함수가 많다면 Window Split 기능이 있는 IDE를 사용해도 많이 번거로울 것입니다. 


그러나 람다식을 사용하여 코드를 짜면 이렇게 그 자리에서 함수를 작성할 수 있습니다. 기억이 나지 않더라도 스크롤 이동없이 온전히 main()함수 내에서 코드를 읽어낼 수 있습니다. 즉 코드가 간결해져 가독성이 높아집니다.


여러 방면에 람다식을 적용해서 계속 포스팅을 이어나가도록 하겠습니다.


감사합니다.

댓글