C++11 특징 (lambda)

2021. 3. 3. 23:02

기본적인 람다식은 아래와 같다.

 

[ introducer capture ]( parameters ){ statement };

 

람다식은 처음에 나왔을때 어디에 써먹지라는 생각이 났다. 함수호출용? 이라기엔 하나의 함수 스코프에서만 쓸수 있는것이고 사용하기에 따라 다르지만 내가 하는 작업과는 맞지 않는다고 생각했다.

 

물론 이후에 C++14, 17, 20까지 나오고 있는 상황에선 지금 적는거보단 훨씬 많은 쓰임새가 있을꺼 같다.

 

그러다 함수 포인터 전달용으로 쓰면 어떨까라는 생각을 하게 됐다. 나중에 적을 function 이지만 미리 적겠다.

int Add(int a, int b)
{
	return a + b;
}

//기존 함수 형식으로 작성
std::function<int(int, int)> pFunc = std::bind(Add, std::placeholders::_1, std::placeholders::_2);

//람다식 이용
std::function<int(int, int)> pFunc2 = [](int a, int b) { return Add(a, b); }

해당 식을 작성 후 다른 클래스에 넘겨준 후 해당 함수를 호출하면 된다. 

'C++ > C++11' 카테고리의 다른 글

C++11 특징 (std::pair, std::tuple)  (0) 2021.03.10
C++ 11 특징 ( R Value)  (0) 2021.03.09
C++11 특징 (Uniform 초기화)  (0) 2021.03.05
C++11 특징( ranged for loop)  (0) 2021.03.03
C++11 특징 (auto)  (0) 2021.03.02
:
BLOG main image
by 한그릇더

공지사항

카테고리

분류 전체보기 (30)
C++ (16)
C# (0)
시스템프로그램이 (2)
Android (0)
리눅스 (2)
Etc (8)
Meanstack (1)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

태그목록

글 보관함

달력

«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Total :
Today : Yesterday :