在UML類圖中是否有一種公認的描述由boost共享指針保存的對象的方法(即應該使用哪一個,並使用空的或完整的菱形,如聚合或合成)?在UML中繪製智能指針
2
A
回答
2
我不知道如何將智能指針建模爲關係的整體共識。
黑色的鑽石意味着控制生命時間,白色的鑽石意味着不控制生命時間,所以你可以同意在本地使用黑色鑽石for unique_ptr,所有黑色鑽石用於shared_ptr,白色鑽石用於weak_ptr。
如果你真的要建模smart_ptr,我建議增加一個屬性類的關係:
0
| /----------------\
+--+ shared pointer |
| \----------------/
V
2
你的UML類模型應該是抽象的,沒有語言的成語。
實際上,您可以爲每種類型的智能點創建關係的刻板印象,其中包括OCL約束。我對每種子類型的智能指針的具體語義都不太熟悉,以提供您的詳細信息,但OCL Specification應該有所幫助。
相關問題
- 1. 智能指針在智能指針管理數組內
- 2. Boost智能指針
- 3. C++智能指針
- 4. C++中的智能指針
- 5. 指針和智能指針的區別
- 6. 智能指針代替指針
- 7. GMP和智能指針
- 8. C++:實現智能指針
- 9. 智能指針與PythonQt
- 10. C++智能指針表現
- 11. 激活智能指針?
- 12. 智能指針::地圖
- 13. 二叉樹智能指針
- 14. 智能指針三規則?
- 15. 數組和智能指針
- 16. 智能指針和dynamic_cast
- 17. 智能指針類predeclaration
- 18. 獲取智能指針的指針指針
- 19. 正在初始化智能指針
- 20. 智能指針和地圖在C++
- 21. Java中是否有「智能指針」?
- 22. Qt 5.5繪製指針
- 23. 帶智能指針的C++智能矢量?
- 24. 調用一個成員函數指針的智能指針
- 25. 用智能指針替換現有的原始指針
- 26. 刪除智能指針,但仍可以訪問指針?
- 27. 集成智能指針遺留代碼原始指針
- 28. 從原始指針轉換爲智能指針
- 29. C++智能指針:共享指針與共享數據
- 30. 我的函數應該接受指針還是智能指針?
如果你可以繪製UML圖,你也知道對象所有權關係,那麼爲什麼你首先需要一個智能指針呢? – zvrba 2012-02-09 09:54:07