title: Can anybody explain this initializer code?
body: <p>Can anybody explain how "<code>self_( this, []( ... ) {} )</code>" works?</p>
  
  <pre><code>struct Parent {
      std::shared_ptr&lt;Parent&gt; self_;
      Parent() : self_( this, []( ... ) {} ) {}
      operator std::shared_ptr&lt;Parent&gt;() const { return self_; }
  }
  </code></pre>