간단한 예 :
#include <iostream>
int main()
{
int n;
[&](){n = 10;}(); // OK
[=]() mutable {n = 20;}(); // OK
// [=](){n = 10;}(); // Error: a by-value capture cannot be modified in a non-mutable lambda
std::cout << n << "\n"; // "10"
}
질문 : 왜 mutable
키워드 가 필요 합니까? 명명 된 함수에 전달되는 기존 매개 변수와는 상당히 다릅니다. 뒤에 근거는 무엇입니까?
가치 별 포착의 요점은 사용자가 임시를 변경할 수 있다는 인상을 받았습니다.
깨달음?
(저는 MSVC2010을 사용하고 있습니다. AFAIK가 표준이어야합니다)
const
기본적으로 아닐 때 좋은지 확실하지 않습니다 .
const
기본적 으로 무언가가 기쁘지만 기쁘지만 !