參考資料:
(1)作用
1.1 定義常量
#define pi 3.14
//如此使用的缺點:
//1. 由於巨集替換的資料是沒有資料型別的,所以編譯器無法進行型別安全檢查。
//2. 巨集替換的記號從未被編譯器看到,如pi就可能沒有進入編譯器的符號表。如果由於此巨集替換產生報錯將難
以除錯。
//3. 如果大量使用pi,可能導致目標碼中有多份「3.14」。
// 替換建議:
// 使用 `const float pi=3.14`;
// 或者`enum ` ,相對於const,enum更像#define,比如你無法區pi的位址。
(2)定義巨集函式
如#define call_with_max(a,b) ((a)>(b)?(a):(b))
初看如此定義沒多大問題,小括號使用沒問題
#define call_with_max(a,b) ((a)>(b)?(a):(b))
int main()
//建議替換 inline;
(3)巨集定義函式
#define mem(a,x) memset(a,x,sizeof(a))
define巨集定義
預處理指令 以 開頭的行,都預處理指令,用於指示編譯器做一些預處理工作。比如 include h 注 預處理指令不是語句,行尾不要加分號 define的兩種用法 1.定義乙個 數值 2.定義乙個 算式 注 工程中應該避免使用這兩種方式 定義乙個值 define pi 3.14 int main 定義...
巨集定義 define
巨集定義又稱為巨集代換 巨集替換,簡稱 巨集 格式 define 識別符號 字串 其中的識別符號就是所謂的符號常量,也稱為 巨集名 預處理 預編譯 工作也叫做巨集展開 將巨集名替換為字串。1 define printx printf d n x 在c程式中,以 字元開頭的 都是一條c預處理器語句。預...
define巨集定義
include include define sub x,y x y define access before element,offset,value sub element,offset value using namespace std int main access before array...