As usual while waiting for the next release - don't forget to check the nightly builds in the forum.
A *a=func();shared_ptr<B> p(a ? a->makeB() : nullptr);if (p) ...
shared_ptr<B> p(nullptr);A *a=func();if (a) p=shared_ptr<B>(a->makeB());if (p)
CodeA *a=func();shared_ptr<B> p(a ? a->makeB() : nullptr);if (p) ...