Question: For example

```
class A
{
    void f() {}
    void g()
    {
        [this]() // Lambda capture this
        {
            f();
            A* p = this;
            [p]() // Workaround to let inner lambda capture this
            {
                p->f();
            };
        };
    }
};

```

Any better way to capture this in the inner lambda?

Answer: 
Just use `[=]`, this is implicitly captured. If you have other variables which you don't wanna capture by copy, then just capture `[this]`.
You could just re-capture `this`:

```
class A
{
    void f() {}
    void g()
    {
        [this]()
        {
            f();
            [this]()
        //   ^^^^
            {
                f();
            };
        };
    }
};

```