ここでの同様の質問はすべて、私が使用していないブーストを使用しているようです。
私がやろうとしていることは、次のように示されています。
「所有者」の場合:
std::shared_ptr<State> m_state;
m_state = make_shared<State>(param);
m_state = m_state->SomeVirtualFunction(); // The original m_state object gets destroyed
「所有」の場合:
std::shared_ptr<State> State::SomeVirtualFunction() {
return std:shared_ptr<State>(this);
}
MSVS2012のVisualC++では、所有オブジェクトが破棄されます。どうすればそれを生き続けることができますか?