私は(誤って)私のプログラムで次の課題を持っていました:
std::shared_ptr<SI::Program> m_program; // in class
m_program = std::make_unique<SI::Program>(); // in method
これを見つけたとき、なぜこれがコンパイルされるのか最初に疑問に思いました。には、オブジェクトshared_ptr
用の特別な移動代入演算子があることがわかりました。unique_ptr
私の質問は、これは常に安全に行うことができるのでしょうか、それとも何らかの意味がありますか?
(コードの実行に関しては安全です。コード レビューに関しては明らかに安全ではありません...)