초안 : Brave @Brave

2024년 6월 14일 오전 12:00 (GMT+9)

1. 람다

람다식은 C++11,14에 추가된 표현법으로 보통 익명 함수라고 불립니다.

람다를 저는 학부생때 Java시간때 처음 알게 되었습니다.

그때는 그냥 함수가 간편하게 사용되는 구조인것만으로 끝을 냈습니다.

하지만 이러한 이유때문에 람다를 사용하는경우가 있습니다.

  1. 함수 객체와는 다르게 class를 선언할 필요가 없다.

(코드의 길이가 줄어듬)

  1. 함수 포인터의 단점은 "함수의 인라인화가 불가능합니다"

여기서 인라인은 컴파일러가 함수를 굳이 스택에 쌓아서 부를필요없이 메인함수에서 그 함수만 가지고와 실행하는 기법입니다.

하지만 람다는 "함수의 인라인"이 가능합니다.


2. 람다 표현식

보통 람다표현식은 다음과 같습니다.

#include<iostream>

using namespace std;
//일반 함수
void Sum1(int a, int b)
{
	cout << "Sum1 함수" << a + b << '\n';
}

int main()
{
	//일반 함수 Call
	Sum1(10, 20);

	//람다 함수
	[](int a, int b)
	{
		cout << "LamDa 함수" << a + b << '\n';
	}(30, 40);

	return 0;
}

위 코드를 보면 우리가 일반적으로 알고있는

반환형 함수이름(매개변수)
{
  // 동작
}