オブジェクト1にBoost.Signals2信号があり、オブジェクト2に接続しています。
オブジェクト2が破壊された場合、シグナルが切断され、シグナルが送信されたときに悪いものにつながる可能性があります。
これを解決するには、オブジェクト2にscoped_connection
を残しておきます。オブジェクト1がシグナルで破壊され、オブジェクト2が破壊された場合の問題は今のところです。
問題が発生しますか?一般的な問題を解決する良い方法はありますか? (オブジェクト1からオブジェクト2への接続を持っていて、それらがオンになったときに切断されます)。Boost.Signals2破壊安全
問題を示すコード:
auto sig = new signal<void()>();
auto conn = new scoped_connection(sig.connect(&some_function));
delete sig;
delete conn;
は、この安全ですか?