谷歌的結果表明,有超過1單身模板/基類在助推,你建議哪一個?您選擇BOOST中的哪個Singleton庫?
11
A
回答
8
您不應該在boost中使用單例,它們僅用於內部目的(請參閱單獨libes的「detail」文件夾)。這就是爲什麼你沒有在boost網站上公開的Singleton庫。
單例類很容易實現,但有很多變體在特定情況下很有用,所以你應該使用一些適合你認爲單例應該表現的東西。
現在,還有其他圖書館提供單身人士,最通用的是Loki。但它可能打擊你的心;)
更新:現在,是爲了提供非全局單(有選項,以使全球,迫使你有明確的創建提出了圖書館稱爲奇異)和物體的破壞點。
見審查要求:http://boost.2283326.n4.nabble.com/Review-Request-Singularity-tt3759486.html
一些提升開發者似乎考慮使用它,而不是一些黑客,但C++ 11使得makeing類辛格爾頓比以前多,這將取決於審查更容易。
1
我升壓的版本有以下singleton.hpp標題:
C:\boost_1_38_0\boost\pool\detail\singleton.hpp
C:\boost_1_38_0\boost\serialization\singleton.hpp
C:\boost_1_38_0\boost\thread\detail\singleton.hpp
我沒有使用任何這些,但我可能會在詳細目錄中的人望而卻步。
無論如何,http://torjo.com/tobias/index.html#boost_utility_singleton.reference.singleton看起來像一個使用,但它似乎不是真正的一部分增強(尚未接受呢?)。
相關問題
- 1. .NET Logger庫。您的選擇
- 2. boost :: type屬於哪個庫?
- 3. QScopedPointer Vs的的boost :: scoped_ptr的[選擇哪一個]
- 4. Singleton Select多行選擇
- 5. iOS,哪個數據庫可供選擇?
- 6. 選擇加載哪個javascript/jquery庫
- 7. 我應該選擇哪個數據庫?
- 8. 要選擇哪個數據庫?
- 9. ESRI shapefile可以選擇哪個C++庫?
- 10. 哪個neo4j庫供.NET選擇?
- 11. MySQL:您可以根據第三個表中的字段值來選擇要從哪個表中選擇?
- 12. C++ boost線程ID和Singleton
- 13. 要鏈接哪個庫boost :: hash_combine
- 14. 哪個庫鏈接到用戶boost :: intrusive_ptr
- 15. 哪個JRadioButton選擇
- 16. Ionic2:您如何選擇頁面時要關注哪個輸入?
- 17. 您今天會選擇哪個視頻流媒體平臺?
- 18. 轉換爲int16,int32,int64 - 您如何知道選擇哪一個?
- 19. 更好的選擇:Singleton還是dispatch_once?
- 20. 您對Android推薦哪個XML-RPC庫?
- 21. 選擇陣列中的哪個位置
- 22. 選擇TreeView中的哪個節點(PySide)?
- 23. 您可以在Jquery.live選擇器中使用哪些過濾器?
- 24. 檢測哪個結果是從MYSQL選擇中選擇的?
- 25. 哪種類型的網絡服務是您的主要選擇?
- 26. 您選擇哪種郵件服務器來開發您的產品
- 27. 在Heroku中應該選擇哪個數據庫?
- 28. 選擇哪個框架?
- 29. 哪個EC2計劃選擇?
- 30. 動態選擇哪個表
單身是邪惡的。他們只是一個政治正確僞裝的全球變數! – Tronic 2010-03-11 15:36:58
爲了給這個背景,賈爾夫把它放好,例如,這裏:http://stackoverflow.com/questions/86582/singleton-how-should-it-be-used/761711#761711(我認爲他詳細闡述了更多的地方,但現在找不到它)。 – 2010-03-11 15:53:46
@gf:我認爲我現在已經在至少十幾個不同的問題中說明了這一點。 ;)在這裏(http://stackoverflow.com/questions/1020312/are-singletons-really-that-bad/1020384#1020384)是另一個。根據他的博客,顯然我也將GMan轉換爲我的觀點:(http://blackninjagames.com/?p=24),但無法找到它現在基於的線程。 :)所以是的,雖然它可能不會回答OP的問題,但我會說「不要在提升中使用任何單例類」。 :) – jalf 2010-03-11 17:47:53