只是想出這個問題。任何提示?是否有任何不能用於STL的C++類?
回答
無法複製的類。 STL容器要求對象可複製,因爲容器擁有該對象的副本,並且需要能夠移動它。
儘管*指針*(和智能指針)到無法複製的類都可以。 – 2010-03-18 05:28:53
除了'std :: auto_ptr'。不要這樣做!雖然'std :: tr1 :: shared_ptr'沒問題。 – Nate 2010-03-22 19:30:45
根據您執行的操作,除了可以爲存儲在容器中的對象進行復制之外,您通常還需要一個默認構造函數。對於傳遞給算法的對象,還有其他要求,例如可調用或可增量。這些要求是有據可查的。
我最不喜歡放入STL容器的東西是std :: auto_ptr ...非常糟糕的事情發生。 ..大多數意想不到的失去我認爲的對象。
一般來說,任何不可複製的東西都不能進入容器 - 你會得到編譯錯誤。異常複製語義(如auto_ptr)的東西不應該放在容器中(但你可能不會得到任何編譯器錯誤)。由於容器可以自由創建各種臨時副本。
我認爲,沒有一個「理智」的默認構造函數和賦值運算符,你也有一些痛苦。
類的析構函數可能不會拋出異常......以及無級永遠應該在析構函數
依賴於容器,以獲取更多信息的扔,該標準的第23條規定了所有容器的要求,方法。
爲了安全起見,雖然,你應該假設如下始終要求: 默認構造和拷貝建設
- 1. 在C++ stl中是否有任何三態類型?
- 2. 對於C(C99或其他),是否有任何標準化和常用的庫,因爲STL是用於C++的?
- 3. 是否有任何有效的用於Java的2D ArrayList類?
- 4. 是否有可能在C++類上執行任何GUI操作
- 5. 是否有一個C++等價於Java的STL容器類的Collection接口?
- 6. 是否有任何c編譯器實現任何C1X功能?
- 7. 是否有任何用於C++的Lua表迭代器封裝?
- 8. 是否有用於eclipse的任何C++代碼插件?
- 9. 是否有任何類似於Ionic項目的工具可用?
- 10. 是否有可用於NSSpeechSynthesizer Cocoa類的任何語言綁定?
- 11. 使用Flask-Bootstrap是否有任何類型的性能問題?
- 12. 是否有一個C#等價於STL輸出迭代器?
- 13. 是否有類似於「with」的功能?
- 14. 是否有任何編譯器可以用於C#而不是Visual Studio?
- 15. 是否有任何具有ScaleGestureDetector和GestureDetector功能的類?
- 16. 是否有可能proxify任何功能
- 17. 是否有任何C++代碼可用於查看XPS文檔?
- 18. C++:是否有任何理由使用uint64_t,而不是size_t
- 19. 是否有任何函數對象在STL中創建對象?
- 20. 從C#中使用類型後綴是否有任何性能收益?
- 21. 'null'是否屬於任何類型?
- 22. C#類不能用於Azure?
- 23. 是否有可能在C#中使用類似於C++的泛型?
- 24. STL中是否有dereference_iterator?
- 25. 是否有任何運營商在VB.net的功能類似於一個在SQL
- 26. 是否有關於PHP XMLWriter功能的任何資源?
- 27. 是否有任何基於ASP.net C#的開源支付網關?
- 28. 是否有任何C#等價於Perl的LWP :: UserAgent?
- 29. 是否有任何HyperLogLog類似於多個multisets的結構?
- 30. 是否有任何類似於drive.revisions.list的魔術修改?
你的意思STL容器? – Naveen 2010-03-18 05:27:20
是的。 __________ – kennytm 2010-03-18 06:25:55