高質量C C程式設計指南

2021-05-21 22:12:56 字數 1073 閱讀 9833

1. 如果引數是指標,且僅作輸入用,則應在型別前加const,以防止該指標在函式體內被意外修改

2. 在函式體的「入口處」,對引數的有效性進行檢查

在函式體的「出口處」,對return語句的正確性和效率進行檢查

3. 引用的一些規則如下:

(1)引用被建立的同時必須被初始化(指標則可以在任何時候被初始化)。

(2)不能有null引用,引用必須與合法的儲存單元關聯(指標則可以是null)。

(3)一旦引用被初始化,就不能改變引用的關係(指標則可以隨時改變所指的物件)。

4. 記憶體分配方式有三種:

(1)從靜態儲存區域分配。內存在程式編譯的時候就已經分配好,這塊內存在程式的整個執行期間都存在。例如全域性變數,static變數。

(2)在棧上建立。在執行函式時,函式內區域性變數的儲存單元都可以在棧上建立,函式執行結束時這些儲存單元自動被釋放。棧記憶體分配運算內     置        於處理器的指令集中,效率很高,但是分配的記憶體容量有限。

(3)從堆上分配,亦稱動態記憶體分配。程式在執行的時候用malloc或new申請任意多少的記憶體,程式設計師自己負責在何時用free或delete釋放記憶體。動        態記憶體的生存期由我們決定,使用非常靈活,但問題也最多。

5.過載  覆蓋 隱藏

成員函式被過載的特徵:

(1)相同的範圍(在同乙個類中);

(2)函式名字相同;

(3)引數不同;

(4)virtual關鍵字可有可無。

覆蓋是指派生類函式覆蓋基類函式,特徵是:

(1)不同的範圍(分別位於派生類與基類);

(2)函式名字相同;

(3)引數相同;

(4)基類函式必須有virtual關鍵字。

如果派生類的函式與基類的函式同名,但是引數不同。此時,不論有無virtual關鍵字,基類的函式將被隱藏(注意別與過載混淆)

如果派生類的函式與基類的函式同名,並且引數也相同,但是基類函式沒有virtual關鍵字。此時,基類的函式被隱藏(注意別與覆蓋混淆)。

高質量C C程式設計指南

目錄 前 言.6 第1章檔案結構 11 1.1 版權和版本的宣告 11 1.2 標頭檔案的結構 12 1.3 定義檔案的結構 13 1.4 標頭檔案的作用 13 1.5 目錄結構 14 第2章程式的版式 15 2.1 空行.15 2.2 行.16 2.3 行內的空格 17 2.4 對齊.18 2.5...

高質量C C程式設計指南 5

第5章常量 常量是一種識別符號,它的值在執行期間恆定不變。c語言用 define來定義 常量 稱 為巨集常量 c 語言除了 define外還可以用 const來定義 常量 稱 為const 常量 5.1為什麼需要常量 如果不使用常量,直接在程式中填寫數字或字串,將會有什麼麻煩?1 程式的可 讀性 可...

高質量C C程式設計指南 常量

常量是一種識別符號,它的值在執行期間恆定不變。c語言用 define來定義常量 稱為巨集常量 c 語言除了 define外還可以用const來定義常量 稱為const常量 如果不使用常量,直接在程式中填寫數字或字串,將會有什麼麻煩?1 程式的可讀性 可理解性 變差。程式設計師自己會忘記那些數字或字串...