簡體   English   中英

哪一個使用c ++ stl容器或MFC容器?

[英]Which one to use c++ stl container or the MFC container?

對於每個stl容器,都有一個可視化c ++中可用的MFC容器。哪個更好,哪個更好,你用的是什么?

我總是用STL容器是錯的嗎?

由於便攜性,我總是更喜歡STL容器。

MFC容器幾乎永遠不會在Linux上可用。

即使你不打算在Linux上使用你的代碼......你也永遠不知道未來會帶來什么。

人們已經指出代碼的可移植性是使用STL的一個原因,但是有一個更好的理由,更符合您的自身利益:技能和經驗的可移植性。 在我看來,當你在簡歷中尋找下一份有STL經驗的工作時,會給你更多機會。 為什么? STL實際上是標准C ++的一部分,如果我正在招聘,我會認為知道STL的人可以很快地拿起MFC容器,但如果我正在尋找具有STL技能的人,我不一定會做出相反的假設。

從來源:

“坦率地說,團隊會給你相同的答案.MFC集合類只是為了向后兼容.C ++有一個集合類標准,那就是標准C ++庫。使用任何標准庫都沒有技術缺陷在MFC應用程序中。

我們不打算在這方面做出重大改變。

Ronald Laeremans代理產品部經理Vsual C ++團隊“

如果您在MFC土地的范圍內工作,MFC集合類確實有一些優勢。 例如,您可以獲得序列化(如果您的容器元素繼承自CObject或類似內容)以及一些針對“free”的調試支持。 MSDN詳細介紹了如何在不同的MFC集合類型之間進行選擇[這里]( http://msdn.microsoft.com/en-us/library/y1z022s1 ( VS.80).aspx)

但作為默認值,我會傾向於STL類。

擁有便攜性和自由主義的自由。 去STL&Boost(www.boost.org)。

STL的。 認真。

我使用STL容器的原因有很多:它們經過了充分的測試,有很好的文檔記錄,並且被全國各地的人們所熟知。 它們也在不斷改進:看看Boost添加的所有新功能,它們都是向后兼容的。 如果你真的想彎腰,請閱讀Alexandrescu的現代C ++設計:應用的通用編程和設計模式。 使用Boost和STL需要使用他的許多技術。

還需要考慮的是S TL是“ S標准”,但M FC只是“ M icrosoft”。 任何隨機的通用C ++編碼器都可能理解STL,但只有舊的Microsoft編碼器才會知道MFC。 此外,微軟幾乎放棄了MFC。

即使他們向您展示MFC容器更快的數字,也可以免除異常並免費提供雙濃咖啡:只需閉上眼睛並使用DEL鍵(也稱為NO-LOCK-IN鍵)。

您可以通過解決方案夢寐以求的方式,以可插拔的方式完成所有這些操作。 STL一路..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM