MFC陣列 列表和對映類
阿新 • • 發佈:2019-02-17
1.僅有的幾個抽象資料類;
2.這裡的陣列是動態陣列,C++中陣列在定義的時候就要指定大小,並且不檢查陣列的上下標,這樣會造成陣列使用不安全;
3.所以VC++封裝陣列,比如bit陣列,Dword陣列,指標陣列,Ob(object)陣列,String陣列等。這些都是動態的陣列,防止我們的不必要錯誤;
4.列表類,MFC封裝的列表是雙向列表,新增、刪除元素快,可以從頭、從尾訪問,也提供基本的資料型別的連結串列類;
5.MAP,是一種廣義的陣列,是對映,陣列下標可以是任意的資料型別。有時候用數字、字串來命名一個物件,用字串類索引物件。
建議:對於一般的線性的資料型別,使用以上的陣列、列表和對映,比如佇列、堆疊(永遠從頭新增、刪除元素)。
如果是樹形、二叉樹就仿造MFC的類的定義方式,而且要提供和CObeject的相容。
STL的缺點:除錯的時候沒法看到細節,只能通過遍歷來發現問題;
STL編譯的速度慢,過載了大量運算子,導致效率低下。所以一般不要去封裝指標運算子。
STL對資料的安全性較差。因為不知道使用者會放什麼東西進去。
大多數開發程式時,建議自己去定義STL的功能,因為網路的資源豐富。可以參考的東西多。
所以先看以上的陣列、列表、對映的能不能滿足,不能就用STL,再不能就自己封裝。