, " - " - , - . , , , , -. , .
, lambda [a, &b](auto x, auto y) -> R { /* ... */ } :
struct __lambda
{
__lambda(const A & __a, B & __b) : a(__a), b(__b) {}
template <typename T1, typename T2>
R operator()(T1 x, T2 y) const { }
private:
A a;
B & b;
};