C 高質量程式設計指南筆記(三)

2021-07-25 03:45:53 字數 1293 閱讀 9156

define c語言的巨集常量

const c++,編譯器可以對前者進行型別安全檢查。

1、在c++中只使用const常量而不使用巨集常量,即const常量完全取代巨集常量

2、需要對外公開的常量放再標頭檔案中,不需要對外公開的常量放在定義檔案的頭部。為便於管理,可以把不同模組的常量集中存放在乙個公共標頭檔案中。

const

float radius = 100;

const

float diameter = radius * 2;

4、const資料成員的初始化只能在類的建構函式的初始化表中進行

classa;

a::a(int size):size(size) //初始化表

5、類的常量應該用類中的列舉常量來實現。

class a

;//列舉常量

intarray[size1 ];

intarray[size1 ];

};

列舉常量不會占用物件的儲存空間,它們在編譯時就被全部求值。

缺點:它隱含的資料型別是整形,其最大值有限,不能表示浮點數。

1、不要將正常值和錯誤標誌混在一起返回。正常值用輸出引數獲得,而錯誤標誌用return語句。

2、避免函式有太多引數,引數個數控制在5個以內。太多可使用結構。

3、函式名字與返回值型別在語義上不可衝突。

4、有時候函式原本不需要返回值,但為了增加靈活性如支援鏈式表達,可以附加返回值。

5、return語句不可返回指向「棧記憶體」的指標或引用,會在函式結束時銷毀。

6、如果return返回值是乙個物件,要考慮return語句的效率。

例如:

//方式1

return

string(s1 + s2);

//方式2

string temp(s1 + s2);

return temp;

方式2比方式1多出temp的初始化和析構過程,方式1直接把臨時物件建立並初始化在外部儲存單位中,省去了拷貝和析構的花費,提高了效率。

7、函式的功能要單一,不要設計多用途函式。

8、函式體的規模要小,盡量控制在50行以內。

9、盡量避免函式帶有「記憶」功能,相同的輸入應該產生相同的輸出。

10、使用斷言assert捕捉不應該發生的非法情況,不要混淆非法情況與錯誤情況,後者是必然存在的並且一定要處理的。

11、在函式入口處,使用斷言檢查引數的有效性(合法性)。

《高質量C 程式設計指南》筆記

高質量 c 程式設計指南 是一本關於c 程式設計風格的指導 建議性的書,誕生已經有一年多了,初學c 閱讀此書,感覺甚好,收穫很大。這本書對初學者掌握好的編碼習慣有極大的幫助,對老手改進編碼方式也有好處。xml namespace prefix o ns urn schemas microsoft c...

高質量程式設計指南(筆記)

你使用乙個語言特徵是因為你需要它,而不是因為它存在 bjarne stroustrup 首先掌握語言的特徵及及其使用方法,再學習具體的語言實現才是語言學習之道!我們不能因為bjarne說過那樣的話就不去使用甚至不去學習c c 的高階特性。要想高效的使用一種語言,必須要了解它的各個特徵和他們的使用方法...

《高質量C 程式設計指南》讀後筆記三

六 函式設計 1.引數規則 如果引數是指標,且僅作輸入用,則應在型別前加 const,以防止該指標在函式體內被修改。例如 void stringcopy char dststring const char srcstring 如果輸入引數以值傳遞的方式傳遞物件,則宜改用 const 方式來傳遞,這樣...