c++語言可以使用const來定義常量,也可以使用define來定義常量,但是後者有很多優點:
(1 )const常量有資料型別,而巨集常量沒有資料型別。編譯器對前者進行靜態型別安全檢查;而對後者只進行字元文字的替換,沒有型別安全的檢查,因此可能有
意料不到的錯誤。c++程式中盡量使用const來定義符號常量,包括字串常量。
(2) define 定義的常量儲存在符號表中,而const 定義的結構資料需要分配儲存空間。
有時候我們希望某些常量只是在類中有效。使用#define定義的巨集常量是全域性的,不能達到目的,const型別的資料成員的含義也不是我們自己所期望的,非靜態
const資料成員屬於每乙個物件的資料成員,只在某乙個物件的生命週期內是常量。對於類來說,乙個類可以有多個物件,每乙個物件的const的變數的值可以是不同的。
推薦使用enum或者static const定義類的常量。列舉常量不會占用物件的儲存空間,在編譯時被全部複製,缺點是不能定義浮點數和字串。
高質量C,C 程式設計指南 知識點小結(一)
1 return語句不可返回指向 棧記憶體 的 指標 或 引用 因為該內存在函式體結束時唄自動銷毀 2 布林型別 整型 浮點型判斷真偽的if語句不一樣 1 建立 2 銷毀 3 得到長度 4 從線性表刪除乙個元素 5 從線性表新增乙個元素 4 斷言assert是僅在debug版本起作用的巨集,它用於檢...
高質量程式設計 筆記
1.高質量軟體開發之道 1.提高軟體質量的基本方法 2.軟體質量屬性 3.質量 生成率和成本 4.軟體過程改進 5.高質量軟體開發的基本方法 2.程式的基本概念 1.程式語言 一套規範的集合,主要包括語言使用字符集 資料型別集合 運算子集合 關鍵字集合 指令集合 語法規則 對特定構造的支援 函式 繼...
高質量程式設計C C
一 請填寫bool float,指標變數與 零值 比較的 if 語句。10 分 請寫出 bool flag 與 零值 比較的 if 語句。3 分 標準答案 if flag if flag 如下寫法均屬不良風格,不得分。if flag true if flag 1 if flag false if f...