1
現在我正在開發一個C++應用程序,而且我正面臨共享一個實例的問題。如何在C++中的幾個類之間共享一個實例,而不是使用單例模式
對於這個問題,我創建了一個簡單的類圖。我想分享A類和C的HogeDataManager。創建HogeDataManager並通過其公共方法讀取HogeData。然後B向HogeDataManager添加一些數據。
對於共享HogeDataManager,我必須爲B和C準備set_mgr方法。但我認爲這不是一個聰明的方法。當然,如果我採用Singleton模式,它將被解決。但Singleton有時很危險,所以我想找到更好的方法來避免這樣的問題。
_「對於共享HogeDataManager,我必須準備set_mgr方法」_最好是在這些類的構造函數。 –
你有什麼特別的理由避免單身? – teivaz
您應該修改使用'HogeDataManager',它的生命週期,實例,上下文和狀態的可能數量的場景。這會幫助你做出更好的決定。 – teivaz