在C++中,我使用單例類,並引用另一個類中的唯一實例。我想知道什麼是最有效的方法來訪問這個實例,因爲它是一個大型的數據結構。我考慮過這些事情。使用單例類的最有效方法
- 充分利用單類的引用,除了按值
傳遞數據結構用我的第二類的全局實例,它使用單例類:
Singleton* singleInstance; SingletonUser::SingletonUser() { singleInstance = Singleton::getInstance(); //passes the single instance by reference, then it will be used in the class wherever needed }
在做同樣的事情在第二類的函數中,以便我在需要時獲得對單例類的實例的引用(需要在多個函數中多次訪問它)。
我不確定哪種做法是最好的。有人可以解釋,如果有更有效的方法,也解釋一下嗎?
謝謝!
如果'的getInstance()'方法返回指向在你的第二例如,無論對象具有多大的大小,您只需支付調用getInstance()方法和複製指針的代價。你究竟想要優化什麼? – 2012-01-28 04:29:33
@AndréCaron:時間。 Singleton類有一個非常大的數據結構。這就是爲什麼我想通過參考傳遞。有一個更好的方法嗎? – Izza 2012-01-28 04:32:22
@Izza:但是如果你沒有按照價值傳遞它,那麼複製永遠不會被創建(如果你是這樣的話,它首先不會是單例)。你有什麼其他方式來回答參考? – Cameron 2012-01-28 04:36:08