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

2021-05-25 23:34:17 字數 813 閱讀 2508

六、函式設計

1.引數規則

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

void stringcopy(char *dststring , const char *srcstring);

如果輸入引數以值傳遞的方式傳遞物件,則宜改用 " const &" 方式來傳遞,這樣可以省去臨時物件的構造和析構過程,從而提高效率。

2.返回值的規則

引數的返回值可以是值型別,指標型別,和引用型別,和函式引數可用型別相同。要仔細區分可以使用的情況。

簡單的說,函式內部,在棧上建立的變數,不能用引用型別或指標型別作為返回值。

3.函式內部實現的規則

(1) return語句不能返回指向「棧記憶體」的「指標」或者「引用」,因為該內存在函式呼叫結束後會自動銷毀。這也是為什麼前述內容中需要注意函式返回型別的原因;

(2) 如果函式返回的是乙個物件,要注意 return 語句的效率。

4.使用斷言

5.引用與指標的比較(重點)

「引用傳遞」的性質象「指標傳遞」,而書寫方式象「值傳遞」。實際上「引用」可以做的任何事情「指標」也都能夠做,為什麼還要「引用」這東西?

答案是「用適當的工具做恰如其分的工作」。

指標能夠毫無約束地操作記憶體中的如何東西,儘管指標功能強大,但是非常危險。就象一把刀,它可以用來砍樹、裁紙、修指甲、理髮等等,誰敢這樣用?

如果的確只需要借用一下某個物件的「別名」,那麼就用「引用」,而不要用「指標」,以免發生意外。比如說,某人需要乙份證明,本來在檔案上蓋上公章的印子就行了,如果把取公章的鑰匙交給他,那麼他就獲得了不該有的權利。

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

定義1 能長期穩定地編寫出高質量程式的程式設計師稱為程式設計老手。定義2 能長期穩定地編寫出高難度 高質量程式的程式設計師稱為程式設計高手。根據以上定義,我是個菜鳥。一 檔案結構 1.版權及版本宣告,例子如下 1 上海貝爾 網路應用事業部 檔名稱 filename.h 檔案標識 見配置管理計畫書 摘...

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

define c語言的巨集常量 const c 編譯器可以對前者進行型別安全檢查。1 在c 中只使用const常量而不使用巨集常量,即const常量完全取代巨集常量 2 需要對外公開的常量放再標頭檔案中,不需要對外公開的常量放在定義檔案的頭部。為便於管理,可以把不同模組的常量集中存放在乙個公共標頭檔...

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

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