Mutating Lambda Member Variables

Understand mutating lambda member variables, their behavior from the compiler's perspective and the use of capture.

Using the mutable keyword in lambdas

As the lambda works just like a class with member variables, it can also mutate them. However, the function call operator of a lambda is const by default, so we explicitly need to specify that the lambda can mutate its members by using the mutable keyword. In the following example, the lambda mutates the counter variable every time it's invoked:

Get hands-on with 1400+ tech skills courses.