Recursive GCD using a lambda
Not that familiar with C++, but that certainly looks like recursion to me...

The variable gcd contains a function, which then calls itself.  The very definition of recursion.

But I would ask what you gain by not making it a regular function?