C++/Skill (기본지식, 모던C++)
모던C++) 람다(Lambda) 함수
신우섭
2020. 3. 6. 17:42
핵심
[변수캡쳐](받을인자)->리턴타입{함수Body}(넘길인자)
Ex
[](int nNum)->int{return std::cout << nNum + 100 << std::endl;}(100);
결과 : 200
상세 설명
변수캡쳐
[&]외부의 모든 변수들을 레퍼런스로 가져온다. (함수의Call - by - reference를 생각)
[=] 외부의 모든 변수들을 값으로 가져온다. (함수의Call - by - value를 생각)
[=, &x, &y] 혹은[&, x, y] 외부의 모든 변수들을 값/레퍼런스로 가져오되,x와y만 레퍼런스/값으로 가져온다
[x, &y, &z] 지정한 변수들을 지정한 바에 따라 가져온다.
ps) 받을 인자가 void 라면 넘길인자 생략 가능