高質量C/C++編程指南讀書筆記(1)

最近在讀高質量C/C++編程指南,我只將一些我自己平時沒有注意的東西記錄下來。

這本書挺好的,推薦大家閱讀。以下是我的讀書筆記:

1.1版權和版本的聲明
example:
/*************************************************
Copyright (C),fmh
File name: xxx.cpp
Author: fmh      Version: 1.0     Date: 2012.6.18
Description:   xxx的實現程序
*************************************************/

1.2頭文件
防止頭文件被重複引用
#ifndef HEADER_H
#define HEADER_H

#include ...

class A
{
};

#endif

2.2.1儘可能在定義變量的同時初始化該變量
局部變量如果未初始化,可能會導致程序錯誤。

4.4.2如果循環體內存在邏輯判斷,並且循環次數很大,宜將判斷移到
循環體的外面。效率高但程序不簡潔。但效率的提高並不明顯。

4.6.2switch語句不要忘記最後那個default分支。
4.6.3少用、慎用goto語句,而不是禁用。

6.1.1避免函數有太多的參數,參數個數儘量控制在5個以內。如果參
數太多,在使用時容易將參數類型或順序搞錯。

6.3.2return語句不可返回指向“棧內存”的“指針”或者“引用”,因爲
該內存在函數體結束時被自動銷燬。

6.4
函數的功能要單一,不要設計多用途的函數。
函數體的規模要小,儘量控制在50行代碼之內。
不僅要檢查輸入參數的有效性,還要檢查通過其他途徑進入函數體內
的變量的有效性。

6.5使用斷言
在函數的入口處,使用斷言檢查參數的有效性。

7.1內存分配方式有三種
(1)從靜態存儲區域分配。內存在程序編譯的時候就已經分配好,
這塊內存在程序的整個運行期間都存在。例如:全局變量,static
變量。
(2)在棧上創建。在執行函數時,函數內部局部變量的存儲單元
都可以在棧上創建,函數執行結束時這些存儲單元自動被釋放。棧
內存分配運算內置於處理器的指令集中,效率很高,但是分配的內
存容量有限。
(3)在堆上分配,也稱動態內存分配。程序在運行的時候用malloc
或new申請任意多少的內存,程序員自己負責在何時用free或delete
釋放內存。動態內存的生存期由我們決定,使用非常靈活,但問題也
最多。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章