C++學習筆記第十二篇
阿新 • • 發佈:2018-12-08
111.容器中存放的都必須是值而不能是引用,容器內部實施的是值拷貝工作,容器內可以存放指標作為資料元素,STL中的容器其實就是資料結構課程中學習的連結串列,棧,佇列和雜湊表等結構。
112.線性表的典型操作:
(1)size:獲取當前容器中的元素數目。
(2)insert:在當前元素前插入新元素。
(3)erase:刪除當前元素。
(4)empty:判斷當前容器是否為空。
(5)front:獲取第一個元素。
(6)back:獲取最後一個元素。
……
113.棧和佇列的典型操作:
(1)puah:無返回值,將元素壓棧(佇列)。
(2)pop:彈出棧(佇列)第一個元素。
(3)top:返回棧的第一個元素。
(4)front:返回佇列第一個元素。
……
114.STL提供了大多數常用的泛型演算法。
(1)如:遍歷,排序,反轉,合併等等。
(2)演算法標頭檔案:<algorithm>。
115.C++中仍然支援C語言中的可變引數函式,C++編譯器的匹配呼叫優先順序:
(1)過載函式。
(2)函式模板。
(3)可變引數函式。
116.C++中的多型,根據實際的物件型別呼叫對應的虛擬函式。
(1)可以在基類中定義虛擬函式返回具體的型別資訊。
(2)所有的派生類都必須實現型別相關的虛擬函式。
(3)每個類中的型別虛擬函式都需要不同的實現。
117.使用虛擬函式進行動態型別識別的缺陷:
(1)必須從基類開始提供型別虛擬函式。
(2)所有的派生類都必須重寫型別虛擬函式。
(3)每個派生類的型別ID必須唯一。
利用虛擬函式進行動態型別識別的方法可以滿足工程的需要,但是維護性會隨著派生類的增多而呈指數級增加。