首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

關於 MFC 與 STL 的選擇與使用

     編輯:關於VC++

核心觀點

選擇 MFC 還是 STL 取決於:專案類型、團隊熟悉度、可攜性需求、效能考量。沒有絕對優劣,適合即好。

實戰經驗分享

作者開發命令列工具 RECYCLE,初用 MFC 控制台模板(CString, CStringList),後發現僅為字串處理卻須連結整個 MFC,映射檔顯示載入大量模組。改用 STL (string, list) 後:

  • 修改極少(typedef list<string> CStringList、迭代器取代 POSITION)。
  • 執行檔體積大幅縮減,啟動更快。
  • string::c_str() 需顯式呼叫,不如 CString 隱性轉換 LPCTSTR 方便,但避免隱性轉換帶來的型別混淆。

STL 優勢

  • 標準化/可攜性:屬於 C++ 標準,任何相容編譯器皆支援。
  • 減少平台依賴:核心邏輯與平台 API 分離。
  • 演算法最佳化:容器與演算法經大量測試。

STL 學習曲線

術語抽象(迭代器、配接器、仿函數)、模板程式碼難閱讀,類 Unix 風格:難學但強大。建議參考 SGI STL 官網:https://www.sgi.com/Technology/STL/。

結語

若團隊熟 MFC 且專案綁定 Windows,用 MFC 無妥;追求跨平台、輕量、標準化,STL 為佳選。兩者可混用,關鍵在介面邊界處理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved