1. 程式人生 > >C++學習筆記第十二篇

C++學習筆記第十二篇

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必須唯一。

利用虛擬函式進行動態型別識別的方法可以滿足工程的需要,但是維護性會隨著派生類的增多而呈指數級增加。