shared_ptr の複数のインスタンスが参照するオブジェクトを置き換えることは可能ですか? よくわからないかもしれないので、例を挙げます。
shared_ptr<Base> a = new Derived1();
auto b = a;
auto c = b;
// This function replaces the object where a, b, and c point to.
magic(a, new Derived2());
shared_ptr (リセットとスワップ) のメンバー関数を調査しましたが、うまくいきませんでした。