capture clause

캡처 절은 외부 변수를 복사할지, 원본을 볼지 정한다

값 캡처는 람다 객체 안에 스냅샷을 저장하고, 참조 캡처는 외부 원본을 계속 바라봅니다.

[]
매개변수만 사용 외부 상태를 읽지 않습니다.
원본 영향 없음 간단 비교·산술에 적합합니다.
[x], [=]
생성 시점 스냅샷 람다 객체 안에 값을 저장합니다.
원본과 분리 복사본은 기본 const, mutable은 복사본만 바꿉니다.
[&x], [&]
외부 원본을 봄 람다 안의 x++가 외부 x도 바꿉니다.
수명 주의 오래 살면 댕글링 위험.

혼합 캡처: [x, &y]처럼 소유할 값과 빌려 쓸 값을 한 줄에 드러내면 의도가 가장 빨리 읽힙니다.