C 溫故筆記(一)

2021-08-04 13:13:59 字數 875 閱讀 3330

從學c++到現在也有十個年頭了,一直在用,也一直在不斷的研究和學習。最近時間比較寬鬆,就把之前的一些書籍翻了出來,把基礎的東西都又略讀了一遍,有了不少的收穫。這可能就是所謂的理論和實踐的不斷迴圈吧。將略讀過程中所做的筆記整理出來,主要是總結和備忘,如果能對他人有所幫助,那就善莫大焉了。注:都是一些基礎的東西,沒有什麼高深的,大牛可以跳過。

一、模板和泛型

1、模板是c++語言與眾不同的特性,是標準庫的基礎。

2、函式模板是建立演算法庫的基礎,類模板是建立標準庫容器和迭代器型別的基礎。

3、模板是泛型程式設計的基礎。

二、異常處理

1、c++的異常處理中,需要由問題檢測部分丟擲乙個物件給處理**,通過這個物件的型別和內容,兩個部分能夠就出現了什麼錯誤進行通訊。

2、異常物件由編譯器管理,而且保證駐留在可能被啟用的任意catch都可以訪問的空間。

3、當丟擲乙個表示式的時候,被丟擲物件的靜態編譯時型別將決定異常物件的型別。

4、棧展開(stack unwinding),沿巢狀函式呼叫鏈繼續向上,直至為異常找到乙個catch子句,就進入該catch子句,並在該處理**中繼續執行。當catch結束的時候,在緊接與該try塊相關的最後乙個catch子句之後的點繼續執行。

5、析構函式應該從不丟擲異常。

三、razz

1、通過定義乙個類來封裝資源的分配和釋放,可以保證正確釋放資源。這一技術通常稱為「資源分配即初始化」,簡稱raii。

2、autoptr類是raii的例項。

四、析構函式

1、合成析構函式按物件建立時的逆序撤銷每個非static成員,因此,它按成員在類中宣告次序的逆序撤銷成員。

2、析構函式與複製建構函式或者賦值操作符之間的乙個重要區別是,即使我們編寫了自己的析構函式,合成析構函式仍然執行。

C 溫故筆記(一)

從學c 到現在也有十個年頭了,一直在用,也一直在不斷的研究和學習。最近時間比較寬鬆,就把之前的一些書籍翻了出來,把基礎的東西都又略讀了一遍,有了不少的收穫。這可能就是所謂的理論和實踐的不斷迴圈吧。將略讀過程中所做的筆記整理出來,主要是總結和備忘,如果能對他人有所幫助,那就善莫大焉了。注 都是一些基礎...

C 溫故筆記(二)

一 多重繼承 1 多重繼承是從多於乙個直接基類派生類的能力,多重繼承的派生類繼承其所有父類的屬性。2 在多重繼承下,派生類的物件包含每個基類的物件。3 多重繼承 建構函式初始化式只能控制用於初始化基類的值,不能控制基類的構造次序。4 對於多重繼承,派生類的指標或引用可以轉換為其任意基類的指標或引用。...

C 溫故筆記(二)

一 多重繼承 1 多重繼承是從多於乙個直接基類派生類的能力,多重繼承的派生類繼承其所有父類的屬性。2 在多重繼承下,派生類的物件包含每個基類的物件。3 多重繼承 建構函式初始化式只能控制用於初始化基類的值,不能控制基類的構造次序。4 對於多重繼承,派生類的指標或引用可以轉換為其任意基類的指標或引用。...