일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- java
- linux
- programmers
- Spring JPA
- Spotify Api
- Gem
- 자바
- python
- Computer Science
- Baekjoon
- 회원가입
- Spring
- spring boot
- SECS-II
- SECS/GEM
- SWEA
- 프로그래머스
- CS
- MYSQL
- 회귀
- SW Expert Academy
- SECS
- modern c++
- c
- 파이썬
- C++
- 백준
- spotify
- 스포티파이
- regression
Archives
- Today
- Total
비버놀로지
[Modern C++] lambda 본문
728x90
lambda
[captures](parameters) -> return type { body };
captures : scope 내의 외부 변수를 reference or value로 참조가능
parameters : 매개 변수 (없으면 생략 가능)
return type : 생략시 body의 return type으로 결졍
body : 함수 본문
captures 활용
[] : 외부 변수 사용 X
[&] : scope 내의 모든 외부 변수들을 레퍼런스로 가져온다.
[=] : scope 내의 모든 외부 변수들을 값으로 가져온다.
[=, &x] : x(reference참조) | 나머지 (value 참조)
[x, &y, &z] : x (value 참조) | y, z (reference 참조)
auto sum_n = [](int n) {
int sum = 0;
for (int i = 1; i <= n; i++) sum += i;
return sum;
};
sum_n(10); // result : 55
int arr[5]{ 1,2,3,4,5 };
auto increase = [&] {
for (int i = 0; i < 5; i++) arr[i]++;
};
increase(); // arr : 2,3,4,5,6
728x90
'LANGUAGE STUDY > C C++' 카테고리의 다른 글
[Modern C++] Predefined Functor (0) | 2023.01.17 |
---|---|
[Modern C++] Operator Overloading(연산자 오버로딩) (0) | 2023.01.17 |
[Modern C++] Operator (0) | 2023.01.17 |
[Modern C++] mem function (0) | 2023.01.16 |
[Modern C++] Initializer list 초기화 리스트 (0) | 2023.01.16 |
Comments